]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/DxeNetLib/NetBuffer.c
add security check.
[mirror_edk2.git] / MdeModulePkg / Library / DxeNetLib / NetBuffer.c
index 3fbb6094a54cc564fc75a0dc1e16ed0a7428fa51..907bdfd3ead76326f0c5de3838754d8bf94ee9a3 100644 (file)
@@ -77,7 +77,7 @@ NetbufAllocStruct (
 \r
 FreeNbuf:\r
 \r
-  gBS->FreePool (Nbuf);\r
+  FreePool (Nbuf);\r
   return NULL;\r
 }\r
 \r
@@ -132,7 +132,7 @@ NetbufAlloc (
   return Nbuf;\r
 \r
 FreeNBuf:\r
-  gBS->FreePool (Nbuf);\r
+  FreePool (Nbuf);\r
   return NULL;\r
 }\r
 \r
@@ -153,6 +153,7 @@ NetbufFreeVector (
 {\r
   UINT32                    Index;\r
 \r
+  ASSERT (Vector != NULL);\r
   NET_CHECK_SIGNATURE (Vector, NET_VECTOR_SIGNATURE);\r
   ASSERT (Vector->RefCnt > 0);\r
 \r
@@ -183,7 +184,7 @@ NetbufFreeVector (
     }\r
   }\r
 \r
-  gBS->FreePool (Vector);\r
+  FreePool (Vector);\r
 }\r
 \r
 \r
@@ -205,6 +206,7 @@ NetbufFree (
   IN NET_BUF                *Nbuf\r
   )\r
 {\r
+  ASSERT (Nbuf != NULL);\r
   NET_CHECK_SIGNATURE (Nbuf, NET_BUF_SIGNATURE);\r
   ASSERT (Nbuf->RefCnt > 0);\r
 \r
@@ -216,7 +218,7 @@ NetbufFree (
     // all the sharing of Nbuf increse Vector's RefCnt by one\r
     //\r
     NetbufFreeVector (Nbuf->Vector);\r
-    gBS->FreePool (Nbuf);\r
+    FreePool (Nbuf);\r
   }\r
 }\r
 \r
@@ -685,7 +687,7 @@ NetbufGetFragment (
 \r
 FreeChild:\r
 \r
-  gBS->FreePool (Child);\r
+  FreePool (Child);\r
   return NULL;\r
 }\r
 \r
@@ -867,7 +869,9 @@ NetbufFromExt (
   return Nbuf;\r
 \r
 FreeFirstBlock:\r
-  gBS->FreePool (FirstBlock);\r
+  if (FirstBlock != NULL) {\r
+    FreePool (FirstBlock);\r
+  }\r
   return NULL;\r
 }\r
 \r
@@ -987,7 +991,7 @@ NetbufFromBufList (
   }\r
 \r
   Nbuf = NetbufFromExt (Fragment, Current, HeadSpace, HeaderLen, ExtFree, Arg);\r
-  gBS->FreePool (Fragment);\r
+  FreePool (Fragment);\r
 \r
   return Nbuf;\r
 }\r
@@ -1379,13 +1383,14 @@ NetbufQueFree (
   IN NET_BUF_QUEUE          *NbufQue\r
   )\r
 {\r
+  ASSERT (NbufQue != NULL);\r
   NET_CHECK_SIGNATURE (NbufQue, NET_QUE_SIGNATURE);\r
 \r
   NbufQue->RefCnt--;\r
 \r
   if (NbufQue->RefCnt == 0) {\r
     NetbufQueFlush (NbufQue);\r
-    gBS->FreePool (NbufQue);\r
+    FreePool (NbufQue);\r
   }\r
 }\r
 \r