diff options
author | Qing Huang <qing.huang@intel.com> | 2009-03-24 13:56:38 +0000 |
---|---|---|
committer | Jordan Justen <jordan.l.justen@intel.com> | 2016-04-06 23:22:43 -0700 |
commit | 5ff2f40e73da66f7ccdaa68a51c876eca8ba24db (patch) | |
tree | 0c3d52453e255c40357b6b50aa364e87066e9317 | |
parent | a12324d4fda270d75b9913590f4f60fcb54a3727 (diff) | |
download | edk2-5ff2f40e73da66f7ccdaa68a51c876eca8ba24db.tar.gz edk2-5ff2f40e73da66f7ccdaa68a51c876eca8ba24db.tar.bz2 edk2-5ff2f40e73da66f7ccdaa68a51c876eca8ba24db.zip |
Fix a spec conformance issue that "Attributes" should only be checked when OpenMode is Create.
(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>
-rw-r--r-- | FatPkg/EnhancedFatDxe/Open.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/FatPkg/EnhancedFatDxe/Open.c b/FatPkg/EnhancedFatDxe/Open.c index b6369cf0b3..ae2aae530d 100644 --- a/FatPkg/EnhancedFatDxe/Open.c +++ b/FatPkg/EnhancedFatDxe/Open.c @@ -243,19 +243,14 @@ Returns: default:
return EFI_INVALID_PARAMETER;
}
+
//
- // Check for valid attributes
+ // Check for valid Attributes for file creation case.
//
- if (Attributes & (~EFI_FILE_VALID_ATTR)) {
- return EFI_INVALID_PARAMETER;
- }
- //
- // Can't open for create and apply the read only attribute
- //
- if ((OpenMode & EFI_FILE_MODE_CREATE) && (Attributes & EFI_FILE_READ_ONLY)) {
- return EFI_INVALID_PARAMETER;
+ if (((OpenMode & EFI_FILE_MODE_CREATE) != 0) && (Attributes & (EFI_FILE_READ_ONLY | (~EFI_FILE_VALID_ATTR))) != 0) {
+ return EFI_INVALID_PARAMETER;
}
-
+
IFile = IFILE_FROM_FHAND (FHand);
OFile = IFile->OFile;
|