]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regcomp.c
MdeModulePkg/RegularExpressionDxe: Add null pointer check
[mirror_edk2.git] / MdeModulePkg / Universal / RegularExpressionDxe / Oniguruma / regcomp.c
index cc061780c7ea659bf03600dd45bc2acb97d35c93..f5db3ea6e8c92eb2728a89ea95787c895ba2a4b2 100644 (file)
@@ -3546,8 +3546,12 @@ expand_case_fold_string_alt(int item_num, OnigCaseFoldCodeItem items[], UChar *p
     if (IS_NULL(an)) {\r
       goto mem_err2;\r
     }\r
-\r
-    if (items[i].byte_len != slen) {\r
+    //The NULL pointer check is not necessary. It is added just for pass static\r
+    //analysis. When condition "items[i].byte_len != slen" is true, "varlen = 1"\r
+    //in line 3503 will be reached ,so that "if (IS_NULL(var_anode)) return ONIGERR_MEMORY"\r
+    //in line 3510 will be executed, so the null pointer has been checked before\r
+    //deferenced in line 3584.\r
+    if (items[i].byte_len != slen && IS_NOT_NULL(var_anode)) {\r
       Node *rem;\r
       UChar *q = p + items[i].byte_len;\r
 \r