From: Petr Štetiar Date: Sun, 11 Oct 2020 08:56:24 +0000 (+0200) Subject: Fix possible NULL dereference X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=232659da19a4c08c499735fa0a07abc9b3cf3c73;p=project%2Fcgi-io.git Fix possible NULL dereference Fixes following issue as reported by GCC-10 static analyzer: multipart_parser.c: In function ‘multipart_parser_init’: multipart_parser.c:88:22: error: dereference of possibly-NULL ‘p’ [CWE-690] [-Werror=analyzer-possible-null-dereference] 88 | p->boundary_length = strlen(boundary); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ‘multipart_parser_init’: events 1-2 | | 83 | multipart_parser* p = malloc(sizeof(multipart_parser) + | | ^~~~~~~~~~~~~~~~ | | | | | (1) this call could return NULL |...... | 88 | p->boundary_length = strlen(boundary); | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | | | (2) ‘p’ could be NULL: unchecked value from (1) Signed-off-by: Petr Štetiar --- diff --git a/multipart_parser.c b/multipart_parser.c index ee82c82..f1e1f38 100644 --- a/multipart_parser.c +++ b/multipart_parser.c @@ -84,6 +84,9 @@ multipart_parser* multipart_parser_init strlen(boundary) + strlen(boundary) + 9); + if (!p) + return NULL; + strcpy(p->multipart_boundary, boundary); p->boundary_length = strlen(boundary);