]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
tool_getparam: handle failure of curlx_convert_tchar_to_UTF8() 7023/head
authorKamil Dudka <kdudka@redhat.com>
Thu, 6 May 2021 12:26:58 +0000 (14:26 +0200)
committerKamil Dudka <kdudka@redhat.com>
Thu, 6 May 2021 13:52:09 +0000 (15:52 +0200)
Reported by GCC analyzer:

Error: GCC_ANALYZER_WARNING (CWE-476):
src/tool_getparam.c: scope_hint: In function 'parse_args'
src/tool_getparam.c:2318:38: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'orig_opt'
lib/curlx.h:56: included_from: Included from here.
src/tool_getparam.c:28: included_from: Included from here.
lib/curl_multibyte.h:70:51: note: in definition of macro 'curlx_convert_tchar_to_UTF8'
src/tool_getparam.c:2316:16: note: in expansion of macro 'curlx_convert_tchar_to_UTF8'

Reviewed-by: Marcel Raad
Reviewed-by: Daniel Stenberg
Closes #7023

src/tool_getparam.c

index d616b255ce0cc3e7929fee95e329dc141a2ba445..4ee30038f589ed1d5fb24526157f2bb013ac5d90 100644 (file)
@@ -2355,6 +2355,8 @@ ParameterError parse_args(struct GlobalConfig *global, int argc,
 
   for(i = 1, stillflags = TRUE; i < argc && !result; i++) {
     orig_opt = curlx_convert_tchar_to_UTF8(argv[i]);
+    if(!orig_opt)
+      return PARAM_NO_MEM;
 
     if(stillflags && ('-' == orig_opt[0])) {
       bool passarg;