]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.c
Add comments and DoxyGen format for these files.
[mirror_edk2.git] / MdeModulePkg / Library / DxeCrc32GuidedSectionExtractLib / DxeCrc32GuidedSectionExtractLib.c
index 6deb8dc6d26bbcbcfac6035628b0bea35c04fcd7..8e2cc0201f55d1a4a41d5eb3733ed7b2986a85de 100644 (file)
@@ -27,6 +27,7 @@ Abstract:
 #include <Protocol/SecurityPolicy.h>\r
 #include <Library/ExtractGuidedSectionLib.h>\r
 #include <Library/DebugLib.h>\r
+#include <Library/BaseMemoryLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 \r
 typedef struct {\r
@@ -57,10 +58,16 @@ Arguments:
 Returns:\r
 \r
   EFI_SUCCESS           - The size of destination buffer and the size of scratch buffer are successull retrieved.\r
-  EFI_INVALID_PARAMETER - The source data is corrupted\r
+  EFI_INVALID_PARAMETER - The source data is corrupted, or\r
+                          The GUID in InputSection does not match this instance guid.\r
 \r
 --*/\r
 {\r
+  if (!CompareGuid (\r
+        &gEfiCrc32GuidedSectionExtractionProtocolGuid, \r
+        &(((EFI_GUID_DEFINED_SECTION *) InputSection)->SectionDefinitionGuid))) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
   //\r
   // Retrieve the size and attribute of the input section data.\r
   //\r
@@ -97,8 +104,9 @@ Arguments:
 \r
 Returns:\r
 \r
-  EFI_SUCCESS           - Decompression is successfull\r
-  EFI_INVALID_PARAMETER - The source data is corrupted\r
+  RETURN_SUCCESS           - Decompression is successfull\r
+  RETURN_INVALID_PARAMETER - The source data is corrupted, or\r
+                             The GUID in InputSection does not match this instance guid.\r
 \r
 --*/\r
 {\r
@@ -108,6 +116,12 @@ Returns:
   UINT32                    OutputBufferSize;\r
   VOID                      *DummyInterface;\r
 \r
+  if (!CompareGuid (\r
+        &gEfiCrc32GuidedSectionExtractionProtocolGuid, \r
+        &(((EFI_GUID_DEFINED_SECTION *) InputSection)->SectionDefinitionGuid))) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+\r
   Crc32Checksum = 0;\r
   //\r
   // Points to the Crc32 section header\r