]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools/C/Common: Fix potential null pointer dereference
authorHao Wu <hao.a.wu@intel.com>
Wed, 3 Jan 2018 11:30:36 +0000 (19:30 +0800)
committerHao Wu <hao.a.wu@intel.com>
Mon, 15 Jan 2018 02:42:17 +0000 (10:42 +0800)
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
BaseTools/Source/C/Common/PcdValueCommon.c

index 348f148ff90e72b8d50911a0770d9a3c1f8c4139..32963e6c6787bffd48023b073930152bdfabe6e3 100644 (file)
@@ -72,6 +72,9 @@ Returns:
   CHAR8  *Token;\r
 \r
   Token = malloc (TokenEnd - TokenStart + 1);\r
+  if (Token == NULL) {\r
+    return;\r
+  }\r
   memcpy (Token, &FileBuffer[TokenStart], TokenEnd - TokenStart);\r
   Token[TokenEnd - TokenStart] = 0;\r
   switch (TokenIndex) {\r
@@ -333,6 +336,10 @@ Returns:
       Value = End + 1;\r
     }\r
     Buffer = malloc(*Size);\r
+    if (Buffer == NULL) {\r
+      *Size = 0;\r
+      return NULL;\r
+    }\r
     Value = &PcdList[Index].Value[1];\r
     for (*Size = 0, Buffer[*Size] = (UINT8) strtoul(Value, &End, 16); Value != End; *Size = *Size + 1, Buffer[*Size] = (UINT8) strtoul(Value, &End, 16)) {\r
       Value = End + 1;\r