]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fix bug in PXE driver: memory may be freed before use.
authorsfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 14 May 2013 03:01:51 +0000 (03:01 +0000)
committersfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 14 May 2013 03:01:51 +0000 (03:01 +0000)
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Ouyang Qian <qian.ouyang@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14354 6f19259b-4bc3-4df7-8a09-765794883524

NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c

index 0b2743d1279d72c7410f6b532fd83a8a871f3cef..8ee831f521a5324c3c07d4d02e944ca2702b908b 100644 (file)
@@ -1353,9 +1353,6 @@ ON_ERROR:
            &gEfiCallerIdGuid,\r
            &Private->Id\r
            );\r
-    if (Private != NULL) {\r
-      FreePool (Private);\r
-    }\r
   }\r
 \r
   if (IpVersion == IP_VERSION_4) {\r
@@ -1364,6 +1361,10 @@ ON_ERROR:
     PxeBcDestroyIp6Children (This, Private);\r
   }\r
 \r
+  if (FirstStart && Private != NULL) {\r
+    FreePool (Private);\r
+  }\r
+\r
   return Status;\r
 }\r
 \r