It should return EFI_SUCCESS and update the output buffer size if the input buffer is larger than actual variable contents.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4182
6f19259b-4bc3-4df7-8a09-
765794883524
if (Entry->DataSize == 0) {\r
// Variable was deleted so return not found\r
return EFI_NOT_FOUND;\r
- } else if (Entry->DataSize != *DataSize) {\r
+ } else if (Entry->DataSize > *DataSize) {\r
// If the buffer is too small return correct size\r
*DataSize = Entry->DataSize;\r
return EFI_BUFFER_TOO_SMALL;\r
} else {\r
+ *DataSize = Entry->DataSize;\r
// Return the data\r
CopyMem (Data, Entry->Data, Entry->DataSize);\r
if (Attributes != NULL) {\r