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