libeconf-0.7.6-1.fc43

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1]
libeconf-0.7.6/lib/getfilecontents.c:69:11: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup("")’
libeconf-0.7.6/lib/getfilecontents.c:326:1: enter_function: entry to ‘read_file’
libeconf-0.7.6/lib/getfilecontents.c:337:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:340:3: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:343:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:347:19: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:351:10: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:354:64: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:364:8: branch_false: following ‘false’ branch...
 branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:369:12: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:369:21: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:432:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:436:9: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:440:10: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:447:7: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:448:9: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:451:9: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:636:5: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:638:5: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:638:5: call_function: calling ‘join_same_entries’ from ‘read_file’
#   67|   	  /* reset entry */
#   68|   	  free(ef->file_entry[i].value);
#   69|-> 	  ef->file_entry[i].value = strdup("");
#   70|   	} else {
#   71|   	  /* appending value */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def2]
libeconf-0.7.6/lib/getfilecontents.c:117:15: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup(post)’
libeconf-0.7.6/lib/getfilecontents.c:326:1: enter_function: entry to ‘read_file’
libeconf-0.7.6/lib/getfilecontents.c:337:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:340:3: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:343:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:347:19: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:351:10: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:354:64: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:354:64: acquire_memory: allocated here
libeconf-0.7.6/lib/getfilecontents.c:364:8: branch_false: following ‘false’ branch...
 branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:369:12: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:369:21: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:432:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:436:9: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:440:10: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:447:7: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:448:9: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:451:9: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:354:11: call_function: inlined call to ‘free_buffer’ from ‘read_file’
libeconf-0.7.6/lib/getfilecontents.c:636:5: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:638:5: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:638:5: call_function: calling ‘join_same_entries’ from ‘read_file’
#  115|               if (pre == NULL)
#  116|   	    {
#  117|-> 	      ef->file_entry[i].comment_after_value = strdup(post);
#  118|   	    } else {
#  119|   	      int ret = asprintf(&(ef->file_entry[i].comment_after_value),

Error: GCC_ANALYZER_WARNING (CWE-476): [#def3]
libeconf-0.7.6/lib/getfilecontents.c:504:12: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘strdup(buf)’
libeconf-0.7.6/lib/getfilecontents.c:337:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:340:3: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:343:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:347:19: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:351:10: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:354:64: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:354:64: acquire_memory: this call could return NULL
libeconf-0.7.6/lib/getfilecontents.c:364:8: branch_false: following ‘false’ branch...
 branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:369:12: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:369:21: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:432:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:436:9: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:436:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:457:26: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:457:9: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:503:10: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:504:12: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:504:12: danger: ‘strdup(buf)’ could be NULL: unchecked value from [(7)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/6)
#  502|         bool found_delim = false;
#  503|         if (ef->python_style == false ||
#  504|-> 	  !isspace(*org_buf))
#  505|         {
#  506|           /* It is not a typical python style with indentation */

Error: GCC_ANALYZER_WARNING (CWE-688): [#def4]
libeconf-0.7.6/lib/getfilecontents.c:528:24: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘strdup(buf)’ where non-null expected
libeconf-0.7.6/lib/getfilecontents.c:337:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:340:3: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:343:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:347:19: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:351:10: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:354:64: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:354:64: acquire_memory: this call could return NULL
libeconf-0.7.6/lib/getfilecontents.c:364:8: branch_false: following ‘false’ branch...
 branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:369:12: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:369:21: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:432:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:436:9: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:436:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:457:26: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:457:9: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:503:10: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:509:12: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:509:12: branch_false: following ‘false’ branch (when ‘delim_seen == 0’)...
 branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:515:14: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:521:11: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:519:11: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:523:11: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:519:11: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:525:12: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:525:12: branch_false: following ‘false’ branch...
 branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:527:30: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:528:47: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:528:24: danger: argument 1 (‘strdup(buf)’) from [(7)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/6) could be NULL where non-null expected
#argument 1 of ‘__builtin_strchr’ must be non-null
#  526|             /* removing comments */
#  527|             for (size_t i = 0; i < strlen(comment); i++) {
#  528|-> 	    char *pt = strchr(org_buf, comment[i]);
#  529|   	    if (pt)
#  530|   	      *pt = '\0';

Error: GCC_ANALYZER_WARNING (CWE-688): [#def5]
libeconf-0.7.6/lib/getfilecontents.c:534:21: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘strdup(buf)’ where non-null expected
libeconf-0.7.6/lib/getfilecontents.c:337:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:340:3: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:343:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:347:19: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:351:10: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:354:64: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:354:64: acquire_memory: this call could return NULL
libeconf-0.7.6/lib/getfilecontents.c:364:8: branch_false: following ‘false’ branch...
 branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:369:12: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:369:21: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:432:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:436:9: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:436:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:457:26: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:457:9: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:503:10: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:509:12: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:509:12: branch_false: following ‘false’ branch (when ‘delim_seen == 0’)...
 branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:515:14: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:521:11: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:519:11: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:523:11: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:519:11: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/getfilecontents.c:525:12: branch_true: ...to here
libeconf-0.7.6/lib/getfilecontents.c:525:12: branch_false: following ‘false’ branch...
 branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:527:30: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/getfilecontents.c:534:21: branch_false: ...to here
libeconf-0.7.6/lib/getfilecontents.c:534:21: danger: argument 1 (‘strdup(buf)’) from [(7)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/6) could be NULL where non-null expected
#argument 1 of ‘__builtin_strlen’ must be non-null
#  532|   	}
#  533|   	/* removing \n at the end of the line */
#  534|-> 	if( org_buf[strlen(org_buf)-1] == '\n' )
#  535|   	  org_buf[strlen(org_buf)-1] = 0;
#  536|   	retval = store(ef, current_group, name, org_buf, line,

Error: CPPCHECK_WARNING (CWE-476): [#def6]
libeconf-0.7.6/lib/helpers.c:39: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: combined
#   37|     size_t combined_len = strlen(string_one) + strlen(string_two) + 2;
#   38|     char *combined = malloc(combined_len);
#   39|->   snprintf(combined, combined_len, "%s%c%s", string_one, delimiter, string_two);
#   40|     return combined;
#   41|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
libeconf-0.7.6/lib/keyfile.c:267:5: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup("true")’
libeconf-0.7.6/lib/keyfile.c:265:7: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/keyfile.c:266:10: branch_true: ...to here
libeconf-0.7.6/lib/keyfile.c:267:33: acquire_memory: allocated here
libeconf-0.7.6/lib/keyfile.c:267:5: danger: ‘strdup("true")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  265|     if ((*value == '1' && strlen(tmp) == 1) || hash == YES || hash == TRUE) {
#  266|       free(kf->file_entry[num].value);
#  267|->     kf->file_entry[num].value = strdup("true");
#  268|     } else if ((*value == '0' && strlen(tmp) == 1) ||
#  269|                hash == NO || hash == FALSE) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def8]
libeconf-0.7.6/lib/keyfile.c:271:5: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup("false")’
libeconf-0.7.6/lib/keyfile.c:265:7: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/keyfile.c:268:14: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/keyfile.c:270:10: branch_true: ...to here
libeconf-0.7.6/lib/keyfile.c:271:33: acquire_memory: allocated here
libeconf-0.7.6/lib/keyfile.c:271:5: danger: ‘strdup("false")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#  269|                hash == NO || hash == FALSE) {
#  270|       free(kf->file_entry[num].value);
#  271|->     kf->file_entry[num].value = strdup("false");
#  272|     } else if (hash == KEY_FILE_NULL_VALUE_HASH || strlen(value) == 0) {
#  273|       free(kf->file_entry[num].value);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def9]
libeconf-0.7.6/lib/keyfile.c:274:5: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup("_none_")’
libeconf-0.7.6/lib/keyfile.c:265:7: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/keyfile.c:268:14: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/keyfile.c:269:36: branch_false: ...to here
libeconf-0.7.6/lib/keyfile.c:268:14: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/keyfile.c:272:22: branch_false: ...to here
libeconf-0.7.6/lib/keyfile.c:274:33: acquire_memory: allocated here
libeconf-0.7.6/lib/keyfile.c:274:5: danger: ‘strdup("_none_")’ leaks here; was allocated at [(7)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/6)
#  272|     } else if (hash == KEY_FILE_NULL_VALUE_HASH || strlen(value) == 0) {
#  273|       free(kf->file_entry[num].value);
#  274|->     kf->file_entry[num].value = strdup(KEY_FILE_NULL_VALUE);
#  275|     } else { error = ECONF_WRONG_BOOLEAN_VALUE; }
#  276|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def10]
libeconf-0.7.6/lib/libeconf.c:356:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘**key_file.conf_dirs’
libeconf-0.7.6/lib/libeconf.c:340:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/libeconf.c:346:6: branch_false: ...to here
libeconf-0.7.6/lib/libeconf.c:354:30: acquire_memory: this call could return NULL
libeconf-0.7.6/lib/libeconf.c:356:5: danger: ‘calloc(2, 8)’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  354|       (*key_file)->conf_dirs = calloc((*key_file)->conf_count +1, sizeof(char *));
#  355|       (*key_file)->conf_dirs[(*key_file)->conf_count] = NULL;
#  356|->     (*key_file)->conf_dirs[0] = strdup(".d");
#  357|     }
#  358|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def11]
libeconf-0.7.6/lib/libeconf.c:356:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘calloc(2, 8)’
libeconf-0.7.6/lib/libeconf.c:324:11: enter_function: entry to ‘econf_readConfigWithCallback’
libeconf-0.7.6/lib/libeconf.c:340:6: branch_true: following ‘true’ branch...
libeconf-0.7.6/lib/libeconf.c:341:16: branch_true: ...to here
libeconf-0.7.6/lib/libeconf.c:341:16: call_function: calling ‘econf_newKeyFile_with_options’ from ‘econf_readConfigWithCallback’
libeconf-0.7.6/lib/libeconf.c:341:16: return_function: returning to ‘econf_readConfigWithCallback’ from ‘econf_newKeyFile_with_options’
libeconf-0.7.6/lib/libeconf.c:341:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/libeconf.c:346:6: branch_false: ...to here
libeconf-0.7.6/lib/libeconf.c:352:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/libeconf.c:353:5: branch_false: ...to here
libeconf-0.7.6/lib/libeconf.c:354:30: acquire_memory: this call could return NULL
libeconf-0.7.6/lib/libeconf.c:356:5: danger: ‘calloc(2, 8)’ could be NULL: unchecked value from [(17)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/16)
#  354|       (*key_file)->conf_dirs = calloc((*key_file)->conf_count +1, sizeof(char *));
#  355|       (*key_file)->conf_dirs[(*key_file)->conf_count] = NULL;
#  356|->     (*key_file)->conf_dirs[0] = strdup(".d");
#  357|     }
#  358|   

Error: CPPCHECK_WARNING (CWE-476): [#def12]
libeconf-0.7.6/lib/libeconf.c:482: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: parse_dirs
#  480|      int count = 2;
#  481|      char **parse_dirs = calloc(count+1, sizeof(char *));
#  482|->    parse_dirs[count] = NULL;
#  483|      if (dist_conf_dir)
#  484|        parse_dirs[0] = strdup(dist_conf_dir);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def13]
libeconf-0.7.6/lib/libeconf.c:484:6: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘parse_dirs’
libeconf-0.7.6/lib/libeconf.c:481:24: acquire_memory: this call could return NULL
libeconf-0.7.6/lib/libeconf.c:483:7: branch_true: following ‘true’ branch (when ‘dist_conf_dir’ is non-NULL)...
libeconf-0.7.6/lib/libeconf.c:484:22: branch_true: ...to here
libeconf-0.7.6/lib/libeconf.c:484:6: danger: ‘parse_dirs’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  482|      parse_dirs[count] = NULL;
#  483|      if (dist_conf_dir)
#  484|->      parse_dirs[0] = strdup(dist_conf_dir);
#  485|      else
#  486|        parse_dirs[0] = strdup("");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def14]
libeconf-0.7.6/lib/libeconf.c:486:6: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘parse_dirs’
libeconf-0.7.6/lib/libeconf.c:481:24: acquire_memory: this call could return NULL
libeconf-0.7.6/lib/libeconf.c:483:7: branch_false: following ‘false’ branch (when ‘dist_conf_dir’ is NULL)...
libeconf-0.7.6/lib/libeconf.c:486:22: branch_false: ...to here
libeconf-0.7.6/lib/libeconf.c:486:6: danger: ‘parse_dirs’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  484|        parse_dirs[0] = strdup(dist_conf_dir);
#  485|      else
#  486|->      parse_dirs[0] = strdup("");
#  487|      if (etc_conf_dir)
#  488|        parse_dirs[1] = strdup(etc_conf_dir);

Error: CPPCHECK_WARNING (CWE-476): [#def15]
libeconf-0.7.6/lib/libeconf.c:518: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: parse_dirs
#  516|     int count = 2;
#  517|     char **parse_dirs = calloc(count+1, sizeof(char *));
#  518|->   parse_dirs[count] = NULL;
#  519|     if (dist_conf_dir)
#  520|       parse_dirs[0] = strdup(dist_conf_dir);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def16]
libeconf-0.7.6/lib/libeconf.c:520:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘parse_dirs’
libeconf-0.7.6/lib/libeconf.c:517:23: acquire_memory: this call could return NULL
libeconf-0.7.6/lib/libeconf.c:519:6: branch_true: following ‘true’ branch (when ‘dist_conf_dir’ is non-NULL)...
libeconf-0.7.6/lib/libeconf.c:520:21: branch_true: ...to here
libeconf-0.7.6/lib/libeconf.c:520:5: danger: ‘parse_dirs’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  518|     parse_dirs[count] = NULL;
#  519|     if (dist_conf_dir)
#  520|->     parse_dirs[0] = strdup(dist_conf_dir);
#  521|     else
#  522|       parse_dirs[0] = strdup("");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def17]
libeconf-0.7.6/lib/libeconf.c:522:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘parse_dirs’
libeconf-0.7.6/lib/libeconf.c:517:23: acquire_memory: this call could return NULL
libeconf-0.7.6/lib/libeconf.c:519:6: branch_false: following ‘false’ branch (when ‘dist_conf_dir’ is NULL)...
libeconf-0.7.6/lib/libeconf.c:522:21: branch_false: ...to here
libeconf-0.7.6/lib/libeconf.c:522:5: danger: ‘parse_dirs’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  520|       parse_dirs[0] = strdup(dist_conf_dir);
#  521|     else
#  522|->     parse_dirs[0] = strdup("");
#  523|     if (etc_conf_dir)
#  524|       parse_dirs[1] = strdup(etc_conf_dir);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def18]
libeconf-0.7.6/lib/libeconf.c:557:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘calloc(3, 8)’
libeconf-0.7.6/lib/libeconf.c:539:11: enter_function: entry to ‘econf_readDirsWithCallback’
libeconf-0.7.6/lib/libeconf.c:550:14: call_function: calling ‘econf_newKeyFile_with_options’ from ‘econf_readDirsWithCallback’
libeconf-0.7.6/lib/libeconf.c:550:14: return_function: returning to ‘econf_readDirsWithCallback’ from ‘econf_newKeyFile_with_options’
libeconf-0.7.6/lib/libeconf.c:550:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/libeconf.c:553:3: branch_false: ...to here
libeconf-0.7.6/lib/libeconf.c:554:27: acquire_memory: this call could return NULL
libeconf-0.7.6/lib/libeconf.c:556:6: branch_true: following ‘true’ branch (when ‘dist_conf_dir’ is non-NULL)...
libeconf-0.7.6/lib/libeconf.c:557:32: branch_true: ...to here
libeconf-0.7.6/lib/libeconf.c:557:5: danger: ‘calloc(3, 8)’ could be NULL: unchecked value from [(13)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/12)
#  555|     (*result)->parse_dirs[(*result)->parse_dirs_count] = NULL;
#  556|     if (dist_conf_dir)
#  557|->     (*result)->parse_dirs[0] = strdup(dist_conf_dir);
#  558|     else
#  559|       (*result)->parse_dirs[0] = strdup("");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def19]
libeconf-0.7.6/lib/libeconf.c:559:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘calloc(3, 8)’
libeconf-0.7.6/lib/libeconf.c:539:11: enter_function: entry to ‘econf_readDirsWithCallback’
libeconf-0.7.6/lib/libeconf.c:550:14: call_function: calling ‘econf_newKeyFile_with_options’ from ‘econf_readDirsWithCallback’
libeconf-0.7.6/lib/libeconf.c:550:14: return_function: returning to ‘econf_readDirsWithCallback’ from ‘econf_newKeyFile_with_options’
libeconf-0.7.6/lib/libeconf.c:550:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/libeconf.c:553:3: branch_false: ...to here
libeconf-0.7.6/lib/libeconf.c:554:27: acquire_memory: this call could return NULL
libeconf-0.7.6/lib/libeconf.c:556:6: branch_false: following ‘false’ branch (when ‘dist_conf_dir’ is NULL)...
libeconf-0.7.6/lib/libeconf.c:559:32: branch_false: ...to here
libeconf-0.7.6/lib/libeconf.c:559:5: danger: ‘calloc(3, 8)’ could be NULL: unchecked value from [(13)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/12)
#  557|       (*result)->parse_dirs[0] = strdup(dist_conf_dir);
#  558|     else
#  559|->     (*result)->parse_dirs[0] = strdup("");
#  560|     if (etc_conf_dir)
#  561|       (*result)->parse_dirs[1] = strdup(etc_conf_dir);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def20]
libeconf-0.7.6/lib/libeconf.c:588:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘calloc(3, 8)’
libeconf-0.7.6/lib/libeconf.c:572:11: enter_function: entry to ‘econf_readDirs’
libeconf-0.7.6/lib/libeconf.c:581:14: call_function: calling ‘econf_newKeyFile_with_options’ from ‘econf_readDirs’
libeconf-0.7.6/lib/libeconf.c:581:14: return_function: returning to ‘econf_readDirs’ from ‘econf_newKeyFile_with_options’
libeconf-0.7.6/lib/libeconf.c:581:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/libeconf.c:584:3: branch_false: ...to here
libeconf-0.7.6/lib/libeconf.c:585:27: acquire_memory: this call could return NULL
libeconf-0.7.6/lib/libeconf.c:587:6: branch_true: following ‘true’ branch (when ‘dist_conf_dir’ is non-NULL)...
libeconf-0.7.6/lib/libeconf.c:588:32: branch_true: ...to here
libeconf-0.7.6/lib/libeconf.c:588:5: danger: ‘calloc(3, 8)’ could be NULL: unchecked value from [(13)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/12)
#  586|     (*result)->parse_dirs[(*result)->parse_dirs_count] = NULL;
#  587|     if (dist_conf_dir)
#  588|->     (*result)->parse_dirs[0] = strdup(dist_conf_dir);
#  589|     else
#  590|       (*result)->parse_dirs[0] = strdup("");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def21]
libeconf-0.7.6/lib/libeconf.c:590:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘calloc(3, 8)’
libeconf-0.7.6/lib/libeconf.c:572:11: enter_function: entry to ‘econf_readDirs’
libeconf-0.7.6/lib/libeconf.c:581:14: call_function: calling ‘econf_newKeyFile_with_options’ from ‘econf_readDirs’
libeconf-0.7.6/lib/libeconf.c:581:14: return_function: returning to ‘econf_readDirs’ from ‘econf_newKeyFile_with_options’
libeconf-0.7.6/lib/libeconf.c:581:6: branch_false: following ‘false’ branch...
libeconf-0.7.6/lib/libeconf.c:584:3: branch_false: ...to here
libeconf-0.7.6/lib/libeconf.c:585:27: acquire_memory: this call could return NULL
libeconf-0.7.6/lib/libeconf.c:587:6: branch_false: following ‘false’ branch (when ‘dist_conf_dir’ is NULL)...
libeconf-0.7.6/lib/libeconf.c:590:32: branch_false: ...to here
libeconf-0.7.6/lib/libeconf.c:590:5: danger: ‘calloc(3, 8)’ could be NULL: unchecked value from [(13)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/12)
#  588|       (*result)->parse_dirs[0] = strdup(dist_conf_dir);
#  589|     else
#  590|->     (*result)->parse_dirs[0] = strdup("");
#  591|     if (etc_conf_dir)
#  592|       (*result)->parse_dirs[1] = strdup(etc_conf_dir);

Error: GCC_ANALYZER_WARNING: [#def22]
libeconf-0.7.6/util/econftool.c:102:3: warning[-Wanalyzer-overlapping-buffers]: overlapping buffers passed as arguments to ‘strncpy’
libeconf-0.7.6/util/econftool.c:659:5: enter_function: entry to ‘main’
libeconf-0.7.6/util/econftool.c:727:8: branch_false: following ‘false’ branch (when ‘argc > 1’)...
libeconf-0.7.6/util/econftool.c:730:16: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:730:15: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:737:10: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:737:8: branch_false: following ‘false’ branch (when the strings are non-equal)...
libeconf-0.7.6/util/econftool.c:740:20: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:740:20: call_function: calling ‘replace_str’ from ‘main’
libeconf-0.7.6/util/econftool.c:740:20: return_function: returning to ‘main’ from ‘replace_str’
libeconf-0.7.6/util/econftool.c:741:20: call_function: calling ‘replace_str’ from ‘main’
#  100|       return str;
#  101|   
#  102|->   strncpy(buffer, str, p-str);
#  103|     buffer[p-str] = '\0';
#  104|   

Error: CPPCHECK_WARNING (CWE-476): [#def23]
libeconf-0.7.6/util/econftool.c:268: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: groups
#  266|   	    /* no groups defined; generating an root entry */
#  267|   	    groups = calloc(1, sizeof(char*));
#  268|-> 	    groups[0] = NULL;
#  269|   	    groupCount = 1;
#  270|   	}

Error: GCC_ANALYZER_WARNING (CWE-476): [#def24]
libeconf-0.7.6/util/econftool.c:268:13: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘groups’
libeconf-0.7.6/util/econftool.c:659:5: enter_function: entry to ‘main’
libeconf-0.7.6/util/econftool.c:727:8: branch_false: following ‘false’ branch (when ‘argc > 1’)...
libeconf-0.7.6/util/econftool.c:730:16: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:730:15: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:737:10: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:774:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:779:8: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:781:12: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:785:9: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:789:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:794:9: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:795:12: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:803:33: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:804:15: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:816:9: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:816:8: branch_true: following ‘true’ branch...
libeconf-0.7.6/util/econftool.c:818:13: branch_true: ...to here
libeconf-0.7.6/util/econftool.c:818:12: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:830:5: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:834:5: call_function: calling ‘change_root_dir’ from ‘main’
libeconf-0.7.6/util/econftool.c:834:5: return_function: returning to ‘main’ from ‘change_root_dir’
libeconf-0.7.6/util/econftool.c:837:8: branch_true: following ‘true’ branch (when the strings are equal)...
libeconf-0.7.6/util/econftool.c:838:13: branch_true: ...to here
libeconf-0.7.6/util/econftool.c:838:13: call_function: calling ‘econf_read’ from ‘main’
#  266|   	    /* no groups defined; generating an root entry */
#  267|   	    groups = calloc(1, sizeof(char*));
#  268|-> 	    groups[0] = NULL;
#  269|   	    groupCount = 1;
#  270|   	}

Error: CPPCHECK_WARNING (CWE-476): [#def25]
libeconf-0.7.6/util/econftool.c:276: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: groups
#  274|           size_t key_count = 0;
#  275|   
#  276|->         econf_error = econf_getKeys(key_file, groups[g], &key_count, &keys);
#  277|           if (econf_error) {
#  278|   	    print_error(econf_error);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def26]
libeconf-0.7.6/util/econftool.c:398:16: warning[-Wanalyzer-malloc-leak]: leak of ‘path_tmpfile_edit’
libeconf-0.7.6/util/econftool.c:659:5: enter_function: entry to ‘main’
libeconf-0.7.6/util/econftool.c:727:8: branch_false: following ‘false’ branch (when ‘argc > 1’)...
libeconf-0.7.6/util/econftool.c:730:16: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:730:15: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:737:10: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:774:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:779:8: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:781:12: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:785:9: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:789:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:794:9: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:795:12: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:803:33: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:804:15: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:816:9: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:816:8: branch_true: following ‘true’ branch...
libeconf-0.7.6/util/econftool.c:818:13: branch_true: ...to here
libeconf-0.7.6/util/econftool.c:818:12: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:830:5: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:837:8: branch_false: following ‘false’ branch (when the strings are non-equal)...
libeconf-0.7.6/util/econftool.c:839:16: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:839:15: branch_false: following ‘false’ branch (when the strings are non-equal)...
libeconf-0.7.6/util/econftool.c:841:16: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:841:15: branch_true: following ‘true’ branch (when the strings are equal)...
libeconf-0.7.6/util/econftool.c:842:13: branch_true: ...to here
libeconf-0.7.6/util/econftool.c:842:12: branch_true: following ‘true’ branch...
libeconf-0.7.6/util/econftool.c:844:13: branch_true: ...to here
libeconf-0.7.6/util/econftool.c:846:16: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:850:13: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:852:16: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:870:15: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:870:15: call_function: calling ‘econf_edit’ from ‘main’
#  396|   
#  397|       if (generate_tmp_file(&tmp_name))
#  398|->         return -1;
#  399|   
#  400|       path_tmpfile_edit = strdup(tmp_name);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def27]
libeconf-0.7.6/util/econftool.c:398:16: warning[-Wanalyzer-malloc-leak]: leak of ‘tmp_name’
libeconf-0.7.6/util/econftool.c:659:5: enter_function: entry to ‘main’
libeconf-0.7.6/util/econftool.c:727:8: branch_false: following ‘false’ branch (when ‘argc > 1’)...
libeconf-0.7.6/util/econftool.c:730:16: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:730:15: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:737:10: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:774:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:779:8: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:781:12: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:785:9: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:789:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:794:9: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:795:12: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:803:33: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:804:15: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:816:9: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:816:8: branch_true: following ‘true’ branch...
libeconf-0.7.6/util/econftool.c:818:13: branch_true: ...to here
libeconf-0.7.6/util/econftool.c:818:12: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:830:5: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:837:8: branch_false: following ‘false’ branch (when the strings are non-equal)...
libeconf-0.7.6/util/econftool.c:839:16: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:839:15: branch_false: following ‘false’ branch (when the strings are non-equal)...
libeconf-0.7.6/util/econftool.c:841:16: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:841:15: branch_true: following ‘true’ branch (when the strings are equal)...
libeconf-0.7.6/util/econftool.c:842:13: branch_true: ...to here
libeconf-0.7.6/util/econftool.c:842:12: branch_true: following ‘true’ branch...
libeconf-0.7.6/util/econftool.c:844:13: branch_true: ...to here
libeconf-0.7.6/util/econftool.c:846:16: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:850:13: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:852:16: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:870:15: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:870:15: call_function: calling ‘econf_edit’ from ‘main’
#  396|   
#  397|       if (generate_tmp_file(&tmp_name))
#  398|->         return -1;
#  399|   
#  400|       path_tmpfile_edit = strdup(tmp_name);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def28]
libeconf-0.7.6/util/econftool.c:398:16: warning[-Wanalyzer-malloc-leak]: leak of ‘tmpfile_edit’
libeconf-0.7.6/util/econftool.c:659:5: enter_function: entry to ‘main’
libeconf-0.7.6/util/econftool.c:727:8: branch_false: following ‘false’ branch (when ‘argc > 1’)...
libeconf-0.7.6/util/econftool.c:730:16: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:730:15: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:737:10: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:774:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:779:8: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:781:12: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:785:9: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:789:8: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:794:9: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:795:12: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:803:33: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:804:15: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:816:9: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:816:8: branch_true: following ‘true’ branch...
libeconf-0.7.6/util/econftool.c:818:13: branch_true: ...to here
libeconf-0.7.6/util/econftool.c:818:12: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:830:5: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:837:8: branch_false: following ‘false’ branch (when the strings are non-equal)...
libeconf-0.7.6/util/econftool.c:839:16: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:839:15: branch_false: following ‘false’ branch (when the strings are non-equal)...
libeconf-0.7.6/util/econftool.c:841:16: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:841:15: branch_true: following ‘true’ branch (when the strings are equal)...
libeconf-0.7.6/util/econftool.c:842:13: branch_true: ...to here
libeconf-0.7.6/util/econftool.c:842:12: branch_true: following ‘true’ branch...
libeconf-0.7.6/util/econftool.c:844:13: branch_true: ...to here
libeconf-0.7.6/util/econftool.c:846:16: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:850:13: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:852:16: branch_false: following ‘false’ branch...
libeconf-0.7.6/util/econftool.c:870:15: branch_false: ...to here
libeconf-0.7.6/util/econftool.c:870:15: call_function: calling ‘econf_edit’ from ‘main’
#  396|   
#  397|       if (generate_tmp_file(&tmp_name))
#  398|->         return -1;
#  399|   
#  400|       path_tmpfile_edit = strdup(tmp_name);

Error: CPPCHECK_WARNING (CWE-401): [#def29]
libeconf-0.7.6/util/econftool.c:408: error[memleak]: Memory leak: path_tmpfile_edit
#  406|       if (tmpfile_edit == NULL) {
#  407|          fprintf(stderr, "Out of memory!\n");
#  408|->        return -1;
#  409|       }
#  410|   

Scan Properties

analyzer-version-clippy1.86.0
analyzer-version-cppcheck2.17.1
analyzer-version-gcc15.0.1
analyzer-version-gcc-analyzer15.0.1
analyzer-version-shellcheck0.10.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-193.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250425.124705.g1c7c448.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namelibeconf-0.7.6-1.fc43
store-results-to/tmp/tmpp6wuxptl/libeconf-0.7.6-1.fc43.tar.xz
time-created2025-04-25 13:56:21
time-finished2025-04-25 13:57:29
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,cppcheck,gcc,clippy,shellcheck' '-o' '/tmp/tmpp6wuxptl/libeconf-0.7.6-1.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpp6wuxptl/libeconf-0.7.6-1.fc43.src.rpm'
tool-versioncsmock-3.8.1.20250422.172604.g26bc3d6-1.el9