]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fix a spec conformance issue that "Attributes" should only be checked when OpenMode...
authorQing Huang <qing.huang@intel.com>
Tue, 24 Mar 2009 13:56:38 +0000 (13:56 +0000)
committerJordan Justen <jordan.l.justen@intel.com>
Thu, 7 Apr 2016 06:22:43 +0000 (23:22 -0700)
(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>
FatPkg/EnhancedFatDxe/Open.c

index b6369cf0b3af10d19cada1b4d8a8658b64a51832..ae2aae530d9e39efda6bfca236d38ffc074793c9 100644 (file)
@@ -243,19 +243,14 @@ Returns:
   default:\r
     return EFI_INVALID_PARAMETER;\r
   }\r
+  \r
   //\r
-  // Check for valid attributes\r
+  // Check for valid Attributes for file creation case. \r
   //\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
   }\r
-\r
+  \r
   IFile = IFILE_FROM_FHAND (FHand);\r
   OFile = IFile->OFile;\r
 \r