(based on FatPkg commit
4a3fecc5dc09ff6da448ffcf57e6a24fbca442f9)
[jordan.l.justen@intel.com: Use script to relicense to 2-clause BSD]
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Acked-by: Mark Doran <mark.doran@intel.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
default:\r
return EFI_INVALID_PARAMETER;\r
}\r
default:\r
return EFI_INVALID_PARAMETER;\r
}\r
- // Check for valid attributes\r
+ // Check for valid Attributes for file creation case. \r
- if (Attributes & (~EFI_FILE_VALID_ATTR)) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
- //\r
- // Can't open for create and apply the read only attribute\r
- //\r
- if ((OpenMode & EFI_FILE_MODE_CREATE) && (Attributes & EFI_FILE_READ_ONLY)) {\r
- return EFI_INVALID_PARAMETER;\r
+ if (((OpenMode & EFI_FILE_MODE_CREATE) != 0) && (Attributes & (EFI_FILE_READ_ONLY | (~EFI_FILE_VALID_ATTR))) != 0) {\r
+ return EFI_INVALID_PARAMETER;\r
IFile = IFILE_FROM_FHAND (FHand);\r
OFile = IFile->OFile;\r
\r
IFile = IFILE_FROM_FHAND (FHand);\r
OFile = IFile->OFile;\r
\r