DESCRIPTION : The local pointer variable echo_text, declared on line 1368, and assigned on line 1402, may be NULL where it is dereferenced on line 1406. This NULL pointer dereference only happens in an Out Of Memory context.
PRECONDITIONS :
The conditional expression (ctx->flags & FLAG_PRINTING) on line 1376 evaluates to true AND
The conditional expression (tag_val == NULL) on line 1379 evaluates to false AND
The conditional expression (!strcmp(tag, "var")) on line 1387 evaluates to true AND
The conditional expression (val) on line 1393 evaluates to true AND
The case statement E_ENTITY on line 1401 is executed.
Si je comprends bien, ils disent que si les conditions de la section PRECONDITIONS sont vérifiées, alors à la ligne 1402 le pointeur echo_text peut valoir NULL, on ne peut donc pas le déréférencer (c'est à dire prendre la valeur pointée). Pourtant, moi j'vois qu'il est affecté à la ligne 1402. Sauf si la fonction ap_escape_html retourne elle meme NULL. Il faudrait donc ajouter un test sur NULL avant d'utiliser echo_text ligne 1406 ??? ca fait quoi un strlen(NULL) ? ca fait longtemps que j'ai plus fait de c/c++, mais comme ca, je dirai que ca retourne -1.
[^] # Re: Comparatif de quatre serveurs Web par 01Net
Posté par B r u n o (site web personnel) . En réponse à la dépêche Comparatif de quatre serveurs Web par 01Net. Évalué à 2.
LOCATION : httpd-2.1/modules/filters/mod_include.c : 1406
DESCRIPTION : The local pointer variable echo_text, declared on line 1368, and assigned on line 1402, may be NULL where it is dereferenced on line 1406. This NULL pointer dereference only happens in an Out Of Memory context.
PRECONDITIONS :
The conditional expression (ctx->flags & FLAG_PRINTING) on line 1376 evaluates to true AND
The conditional expression (tag_val == NULL) on line 1379 evaluates to false AND
The conditional expression (!strcmp(tag, "var")) on line 1387 evaluates to true AND
The conditional expression (val) on line 1393 evaluates to true AND
The case statement E_ENTITY on line 1401 is executed.
Si je comprends bien, ils disent que si les conditions de la section PRECONDITIONS sont vérifiées, alors à la ligne 1402 le pointeur echo_text peut valoir NULL, on ne peut donc pas le déréférencer (c'est à dire prendre la valeur pointée). Pourtant, moi j'vois qu'il est affecté à la ligne 1402. Sauf si la fonction ap_escape_html retourne elle meme NULL. Il faudrait donc ajouter un test sur NULL avant d'utiliser echo_text ligne 1406 ??? ca fait quoi un strlen(NULL) ? ca fait longtemps que j'ai plus fait de c/c++, mais comme ca, je dirai que ca retourne -1.