From 232659da19a4c08c499735fa0a07abc9b3cf3c73 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Petr=20=C5=A0tetiar?= Date: Sun, 11 Oct 2020 10:56:24 +0200 Subject: [PATCH] Fix possible NULL dereference MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- multipart_parser.c | 3 +++ 1 file changed, 3 insertions(+) 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); -- 2.30.2