Fixed findings

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1]
libconfig-1.7.3/examples/c/example4.c:90:24: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(&include_path)’
libconfig-1.7.3/examples/c/example4.c:87:8: acquire_memory: allocated here
libconfig-1.7.3/examples/c/example4.c:88:5: branch_true: following ‘true’ branch...
libconfig-1.7.3/examples/c/example4.c:88:5: branch_true: ...to here
libconfig-1.7.3/examples/c/example4.c:90:24: throw: if ‘readdir’ throws an exception...
libconfig-1.7.3/examples/c/example4.c:90:24: danger: ‘opendir(&include_path)’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   88|     if(dp)
#   89|     {
#   90|->     while((dir_entry = readdir(dp)) != NULL)
#   91|       {
#   92|         snprintf(file_path, PATH_MAX, "%s/%s", include_path, dir_entry->d_name);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def2]
libconfig-1.7.3/examples/c/example4.c:95:10: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libconfig-1.7.3/examples/c/example4.c:88:5: branch_true: following ‘true’ branch...
libconfig-1.7.3/examples/c/example4.c:88:5: branch_true: ...to here
libconfig-1.7.3/examples/c/example4.c:90:11: branch_true: following ‘true’ branch...
libconfig-1.7.3/examples/c/example4.c:92:60: branch_true: ...to here
libconfig-1.7.3/examples/c/example4.c:97:9: branch_true: following ‘true’ branch (when ‘result_count == result_capacity’)...
libconfig-1.7.3/examples/c/example4.c:99:9: branch_true: ...to here
libconfig-1.7.3/examples/c/example4.c:104:22: acquire_memory: allocated here
libconfig-1.7.3/examples/c/example4.c:90:11: branch_true: following ‘true’ branch...
libconfig-1.7.3/examples/c/example4.c:92:60: branch_true: ...to here
libconfig-1.7.3/examples/c/example4.c:93:9: branch_false: following ‘false’ branch...
libconfig-1.7.3/examples/c/example4.c:94:11: branch_false: ...to here
libconfig-1.7.3/examples/c/example4.c:94:9: branch_false: following ‘false’ branch...
libconfig-1.7.3/examples/c/example4.c:95:10: branch_false: ...to here
libconfig-1.7.3/examples/c/example4.c:95:10: throw: if ‘fnmatch’ throws an exception...
libconfig-1.7.3/examples/c/example4.c:95:10: danger: ‘<unknown>’ leaks here; was allocated at [(8)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/7)
#   93|         if(lstat(file_path, &stat_buf) != 0) continue;
#   94|         if(!S_ISREG(stat_buf.st_mode)) continue;
#   95|->       if(fnmatch(path, file_path, FNM_PATHNAME) != 0) continue;
#   96|   
#   97|         if(result_count == result_capacity)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def3]
libconfig-1.7.3/examples/c/example4.c:95:10: warning[-Wanalyzer-malloc-leak]: leak of ‘result’
libconfig-1.7.3/examples/c/example4.c:88:5: branch_true: following ‘true’ branch...
libconfig-1.7.3/examples/c/example4.c:88:5: branch_true: ...to here
libconfig-1.7.3/examples/c/example4.c:90:11: branch_true: following ‘true’ branch...
libconfig-1.7.3/examples/c/example4.c:92:60: branch_true: ...to here
libconfig-1.7.3/examples/c/example4.c:97:9: branch_true: following ‘true’ branch (when ‘result_count == result_capacity’)...
libconfig-1.7.3/examples/c/example4.c:99:9: branch_true: ...to here
libconfig-1.7.3/examples/c/example4.c:90:11: branch_true: following ‘true’ branch...
libconfig-1.7.3/examples/c/example4.c:92:60: branch_true: ...to here
libconfig-1.7.3/examples/c/example4.c:93:9: branch_false: following ‘false’ branch...
libconfig-1.7.3/examples/c/example4.c:94:11: branch_false: ...to here
libconfig-1.7.3/examples/c/example4.c:94:9: branch_false: following ‘false’ branch...
libconfig-1.7.3/examples/c/example4.c:95:10: branch_false: ...to here
libconfig-1.7.3/examples/c/example4.c:95:10: throw: if ‘fnmatch’ throws an exception...
libconfig-1.7.3/examples/c/example4.c:95:10: danger: ‘result’ leaks here; was allocated at [(7)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/6)
#   93|         if(lstat(file_path, &stat_buf) != 0) continue;
#   94|         if(!S_ISREG(stat_buf.st_mode)) continue;
#   95|->       if(fnmatch(path, file_path, FNM_PATHNAME) != 0) continue;
#   96|   
#   97|         if(result_count == result_capacity)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def4]
libconfig-1.7.3/lib/grammar.c:1162:9: warning[-Wanalyzer-malloc-leak]: leak of 'yyptr'
libconfig-1.7.3/lib/grammar.c:1120:6: branch_false: following 'false' branch...
libconfig-1.7.3/lib/grammar.c:1184:6: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1184:6: branch_false: following 'false' branch (when 'yystate != 6')...
libconfig-1.7.3/lib/grammar.c:1187:3: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1199:6: branch_false: following 'false' branch (when 'yyn != -26')...
libconfig-1.7.3/lib/grammar.c:1205:6: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1205:6: branch_true: following 'true' branch (when 'yychar == -2')...
libconfig-1.7.3/lib/grammar.c:1208:16: branch_true: ...to here
libconfig-1.7.3/lib/grammar.c:1217:11: branch_false: following 'false' branch (when 'yychar != 256')...
libconfig-1.7.3/lib/grammar.c:1229:17: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1236:6: branch_false: following 'false' branch...
libconfig-1.7.3/lib/grammar.c:1239:6: branch_false: following 'false' branch (when 'yyn > 0')...
libconfig-1.7.3/lib/grammar.c:1249:6: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1249:6: branch_false: following 'false' branch (when 'yyerrstatus == 0')...
libconfig-1.7.3/lib/grammar.c:1256:3: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1120:6: branch_false: following 'false' branch...
libconfig-1.7.3/lib/grammar.c:1184:6: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1184:6: branch_false: following 'false' branch (when 'yystate != 6')...
libconfig-1.7.3/lib/grammar.c:1187:3: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1199:6: branch_false: following 'false' branch (when 'yyn != -26')...
libconfig-1.7.3/lib/grammar.c:1205:6: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1205:6: branch_true: following 'true' branch (when 'yychar == -2')...
libconfig-1.7.3/lib/grammar.c:1208:16: branch_true: ...to here
libconfig-1.7.3/lib/grammar.c:1236:6: branch_false: following 'false' branch...
libconfig-1.7.3/lib/grammar.c:1239:6: branch_false: following 'false' branch (when 'yyn > 0')...
libconfig-1.7.3/lib/grammar.c:1249:6: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1249:6: branch_false: following 'false' branch (when 'yyerrstatus == 0')...
libconfig-1.7.3/lib/grammar.c:1256:3: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1120:6: branch_true: following 'true' branch...
libconfig-1.7.3/lib/grammar.c:1126:28: branch_true: ...to here
libconfig-1.7.3/lib/grammar.c:1149:10: branch_false: following 'false' branch (when 'yystacksize <= 9999')...
libconfig-1.7.3/lib/grammar.c:1151:7: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1158:11: acquire_memory: allocated here
libconfig-1.7.3/lib/grammar.c:1160:12: branch_false: following 'false' branch (when 'yyptr' is non-NULL)...
libconfig-1.7.3/lib/grammar.c:1162:9: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1165:12: branch_false: following 'false' branch...
libconfig-1.7.3/lib/grammar.c:1165:12: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1178:10: branch_false: following 'false' branch...
libconfig-1.7.3/lib/grammar.c:1184:6: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1184:6: branch_false: following 'false' branch (when 'yystate != 6')...
libconfig-1.7.3/lib/grammar.c:1187:3: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1199:6: branch_false: following 'false' branch (when 'yyn != -26')...
libconfig-1.7.3/lib/grammar.c:1205:6: branch_false: ...to here
libconfig-1.7.3/lib/grammar.c:1205:6: branch_true: following 'true' branch (when 'yychar == -2')...
libconfig-1.7.3/lib/grammar.c:1208:16: branch_true: ...to here
libconfig-1.7.3/lib/grammar.c:1208:16: throw: if 'libconfig_yylex' throws an exception...
libconfig-1.7.3/lib/grammar.c:1162:9: danger: 'yyptr' leaks here; was allocated at [(35)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/34)
# 1160|           if (! yyptr)
# 1161|             YYNOMEM;
# 1162|->         YYSTACK_RELOCATE (yyss_alloc, yyss);
# 1163|           YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# 1164|   #  undef YYSTACK_RELOCATE

Error: GCC_ANALYZER_WARNING (CWE-476): [#def5]
libconfig-1.7.3/lib/libconfig.c:134:18: warning[-Wanalyzer-null-dereference]: dereference of NULL 'p'
libconfig-1.7.3/lib/libconfig.c:1609:19: enter_function: entry to 'config_setting_add'
libconfig-1.7.3/lib/libconfig.c:1612:5: branch_false: following 'false' branch...
libconfig-1.7.3/lib/libconfig.c:1615:5: branch_false: ...to here
libconfig-1.7.3/lib/libconfig.c:1615:5: branch_false: following 'false' branch (when 'parent' is non-NULL)...
libconfig-1.7.3/lib/libconfig.c:1618:7: branch_false: ...to here
libconfig-1.7.3/lib/libconfig.c:1630:6: call_function: calling 'config_setting_get_member' from 'config_setting_add'
#  132|     for(p = a, q = b; ; p++, q++)
#  133|     {
#  134|->     int pd = ((! *p) || strchr(PATH_TOKENS, *p));
#  135|       int qd = ((! *q) || strchr(PATH_TOKENS, *q));
#  136|   

Error: CPPCHECK_WARNING (CWE-476): [#def6]
libconfig-1.7.3/lib/libconfig.c:375: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: list
#  373|   static void __config_list_add(config_list_t *list, config_setting_t *setting)
#  374|   {
#  375|->   if((list->length % CHUNK_SIZE) == 0)
#  376|     {
#  377|       list->elements = (config_setting_t **)realloc(

Error: GCC_ANALYZER_WARNING (CWE-476): [#def7]
libconfig-1.7.3/lib/libconfig.c:375:7: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'list'
libconfig-1.7.3/lib/libconfig.c:1506:19: enter_function: entry to 'config_setting_set_string_elem'
libconfig-1.7.3/lib/libconfig.c:1511:5: branch_false: following 'false' branch...
libconfig-1.7.3/lib/libconfig.c:1515:5: branch_false: ...to here
libconfig-1.7.3/lib/libconfig.c:1515:5: branch_true: following 'true' branch (when 'idx < 0')...
libconfig-1.7.3/lib/libconfig.c:1517:10: branch_true: ...to here
libconfig-1.7.3/lib/libconfig.c:1517:7: branch_false: following 'false' branch...
libconfig-1.7.3/lib/libconfig.c:1520:15: branch_false: ...to here
libconfig-1.7.3/lib/libconfig.c:1520:15: call_function: calling 'config_setting_create' from 'config_setting_set_string_elem'
#  373|   static void __config_list_add(config_list_t *list, config_setting_t *setting)
#  374|   {
#  375|->   if((list->length % CHUNK_SIZE) == 0)
#  376|     {
#  377|       list->elements = (config_setting_t **)realloc(

Error: GCC_ANALYZER_WARNING (CWE-476): [#def8]
libconfig-1.7.3/lib/libconfig.c:382:3: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
libconfig-1.7.3/lib/libconfig.c:1506:19: enter_function: entry to 'config_setting_set_string_elem'
libconfig-1.7.3/lib/libconfig.c:1511:5: branch_false: following 'false' branch...
libconfig-1.7.3/lib/libconfig.c:1515:5: branch_false: ...to here
libconfig-1.7.3/lib/libconfig.c:1515:5: branch_true: following 'true' branch (when 'idx < 0')...
libconfig-1.7.3/lib/libconfig.c:1517:10: branch_true: ...to here
libconfig-1.7.3/lib/libconfig.c:1517:7: branch_false: following 'false' branch...
libconfig-1.7.3/lib/libconfig.c:1520:15: branch_false: ...to here
libconfig-1.7.3/lib/libconfig.c:1520:15: call_function: calling 'config_setting_create' from 'config_setting_set_string_elem'
#  380|     }
#  381|   
#  382|->   list->elements[list->length] = setting;
#  383|     list->length++;
#  384|   }

Error: CPPCHECK_WARNING (CWE-476): [#def9]
libconfig-1.7.3/lib/libconfig.c:739: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: config->root
#  737|   
#  738|     config->root = __new(config_setting_t);
#  739|->   config->root->type = CONFIG_TYPE_GROUP;
#  740|     config->root->config = config;
#  741|   }

Error: CPPCHECK_WARNING (CWE-476): [#def10]
libconfig-1.7.3/lib/libconfig.c:838: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: setting
#  836|   
#  837|     setting = __new(config_setting_t);
#  838|->   setting->parent = parent;
#  839|     setting->name = (name == NULL) ? NULL : strdup(name);
#  840|     setting->type = type;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def11]
libconfig-1.7.3/lib/libconfig.c:838:3: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'setting'
libconfig-1.7.3/lib/libconfig.c:1506:19: enter_function: entry to 'config_setting_set_string_elem'
libconfig-1.7.3/lib/libconfig.c:1511:5: branch_false: following 'false' branch...
libconfig-1.7.3/lib/libconfig.c:1515:5: branch_false: ...to here
libconfig-1.7.3/lib/libconfig.c:1515:5: branch_true: following 'true' branch (when 'idx < 0')...
libconfig-1.7.3/lib/libconfig.c:1517:10: branch_true: ...to here
libconfig-1.7.3/lib/libconfig.c:1517:7: branch_false: following 'false' branch...
libconfig-1.7.3/lib/libconfig.c:1520:15: branch_false: ...to here
libconfig-1.7.3/lib/libconfig.c:1520:15: call_function: calling 'config_setting_create' from 'config_setting_set_string_elem'
#  836|   
#  837|     setting = __new(config_setting_t);
#  838|->   setting->parent = parent;
#  839|     setting->name = (name == NULL) ? NULL : strdup(name);
#  840|     setting->type = type;

Error: CPPCHECK_WARNING (CWE-476): [#def12]
libconfig-1.7.3/lib/libconfig.c:839: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: setting
#  837|     setting = __new(config_setting_t);
#  838|     setting->parent = parent;
#  839|->   setting->name = (name == NULL) ? NULL : strdup(name);
#  840|     setting->type = type;
#  841|     setting->config = parent->config;

Error: CPPCHECK_WARNING (CWE-476): [#def13]
libconfig-1.7.3/lib/libconfig.c:840: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: setting
#  838|     setting->parent = parent;
#  839|     setting->name = (name == NULL) ? NULL : strdup(name);
#  840|->   setting->type = type;
#  841|     setting->config = parent->config;
#  842|     setting->hook = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def14]
libconfig-1.7.3/lib/libconfig.c:841: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: setting
#  839|     setting->name = (name == NULL) ? NULL : strdup(name);
#  840|     setting->type = type;
#  841|->   setting->config = parent->config;
#  842|     setting->hook = NULL;
#  843|     setting->line = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def15]
libconfig-1.7.3/lib/libconfig.c:842: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: setting
#  840|     setting->type = type;
#  841|     setting->config = parent->config;
#  842|->   setting->hook = NULL;
#  843|     setting->line = 0;
#  844|   

Error: CPPCHECK_WARNING (CWE-476): [#def16]
libconfig-1.7.3/lib/libconfig.c:843: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: setting
#  841|     setting->config = parent->config;
#  842|     setting->hook = NULL;
#  843|->   setting->line = 0;
#  844|   
#  845|     list = parent->value.list;

Error: CPPCHECK_WARNING (CWE-476): [#def17]
libconfig-1.7.3/lib/libconfig.c:1745: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: file
# 1743|     {
# 1744|       file = (char *)malloc(strlen(include_dir) + strlen(path) + 2);
# 1745|->     strcpy(file, include_dir);
# 1746|       strcat(file, FILE_SEPARATOR);
# 1747|       strcat(file, path);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def18]
libconfig-1.7.3/lib/libconfig.c:1745:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'file' where non-null expected
libconfig-1.7.3/lib/libconfig.c:1742:5: branch_true: following 'true' branch...
libconfig-1.7.3/lib/libconfig.c:1744:20: acquire_memory: this call could return NULL
libconfig-1.7.3/lib/libconfig.c:1745:5: danger: argument 1 ('file') from [(3)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/2) could be NULL where non-null expected
# 1743|     {
# 1744|       file = (char *)malloc(strlen(include_dir) + strlen(path) + 2);
# 1745|->     strcpy(file, include_dir);
# 1746|       strcat(file, FILE_SEPARATOR);
# 1747|       strcat(file, path);

Error: CPPCHECK_WARNING (CWE-476): [#def19]
libconfig-1.7.3/lib/libconfig.c:1746: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: file
# 1744|       file = (char *)malloc(strlen(include_dir) + strlen(path) + 2);
# 1745|       strcpy(file, include_dir);
# 1746|->     strcat(file, FILE_SEPARATOR);
# 1747|       strcat(file, path);
# 1748|     }

Error: CPPCHECK_WARNING (CWE-476): [#def20]
libconfig-1.7.3/lib/libconfig.c:1747: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: file
# 1745|       strcpy(file, include_dir);
# 1746|       strcat(file, FILE_SEPARATOR);
# 1747|->     strcat(file, path);
# 1748|     }
# 1749|     else

Error: CPPCHECK_WARNING (CWE-476): [#def21]
libconfig-1.7.3/lib/libconfig.c:1755: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: files
# 1753|   
# 1754|     files = (const char **)malloc(sizeof(char **) * 2);
# 1755|->   files[0] = file;
# 1756|     files[1] = NULL;
# 1757|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def22]
libconfig-1.7.3/lib/libconfig.c:1755:3: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'files'
libconfig-1.7.3/lib/libconfig.c:1754:26: acquire_memory: this call could return NULL
libconfig-1.7.3/lib/libconfig.c:1755:3: danger: 'files' could be NULL: unchecked value from [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
# 1753|   
# 1754|     files = (const char **)malloc(sizeof(char **) * 2);
# 1755|->   files[0] = file;
# 1756|     files[1] = NULL;
# 1757|   

Error: CPPCHECK_WARNING (CWE-476): [#def23]
libconfig-1.7.3/lib/libconfig.c:1756: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: files
# 1754|     files = (const char **)malloc(sizeof(char **) * 2);
# 1755|     files[0] = file;
# 1756|->   files[1] = NULL;
# 1757|   
# 1758|     return(files);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def24]
libconfig-1.7.3/lib/scanner.c:1972:54: warning[-Wanalyzer-malloc-leak]: leak of 'libconfig_yyalloc(64, yyscanner)'
libconfig-1.7.3/lib/scanner.c:1959:21: enter_function: entry to 'libconfig_yy_create_buffer'
libconfig-1.7.3/lib/scanner.c:1963:24: call_function: calling 'libconfig_yyalloc' from 'libconfig_yy_create_buffer'
libconfig-1.7.3/lib/scanner.c:1963:24: return_function: returning to 'libconfig_yy_create_buffer' from 'libconfig_yyalloc'
libconfig-1.7.3/lib/scanner.c:1964:12: branch_false: following 'false' branch...
libconfig-1.7.3/lib/scanner.c:1967:2: branch_false: ...to here
libconfig-1.7.3/lib/scanner.c:1972:54: danger: 'libconfig_yyalloc(64, yyscanner)' leaks here; was allocated at [(4)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/3)
# 1970|   	/* yy_ch_buf has to be 2 characters longer than the size given because
# 1971|   	 * we need to put in 2 end-of-buffer characters.
# 1972|-> 	 */
# 1973|   	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
# 1974|   	if ( ! b->yy_ch_buf )

Error: GCC_ANALYZER_WARNING (CWE-401): [#def25]
libconfig-1.7.3/lib/scanner.c:2233:26: warning[-Wanalyzer-malloc-leak]: leak of 'libconfig_yyalloc(n,  yyscanner)'
libconfig-1.7.3/lib/scanner.c:2217:17: enter_function: entry to 'libconfig_yy_scan_bytes'
libconfig-1.7.3/lib/scanner.c:2226:24: call_function: calling 'libconfig_yyalloc' from 'libconfig_yy_scan_bytes'
libconfig-1.7.3/lib/scanner.c:2226:24: return_function: returning to 'libconfig_yy_scan_bytes' from 'libconfig_yyalloc'
libconfig-1.7.3/lib/scanner.c:2227:12: branch_false: following 'false' branch...
libconfig-1.7.3/lib/scanner.c:2227:12: branch_false: ...to here
libconfig-1.7.3/lib/scanner.c:2235:6: call_function: calling 'libconfig_yy_scan_buffer' from 'libconfig_yy_scan_bytes'
# 2231|   	for ( i = 0; i < _yybytes_len; ++i )
# 2232|   		buf[i] = yybytes[i];
# 2233|-> 
# 2234|   	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
# 2235|   

Error: COMPILER_WARNING: [#def26]
libconfig-1.7.3/tests/tests.c: scope_hint: In function ‘ParseInvalidFiles’
libconfig-1.7.3/tests/tests.c:73:56: warning[-Wformat-truncation=]: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size between 0 and 127
#   73 |   snprintf(expected_error, sizeof(expected_error), "%s:%s",
#      |                                                        ^~
#......
#  179 |     parse_file_and_compare_error(input_file, error_text);
#      |                                              ~~~~~~~~~~ 
/usr/include/bits/stdio2.h:68:10: note: ‘__snprintf_chk’ output between 2 and 256 bytes into a destination of size 128
#   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
#      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   69 |                                    __glibc_objsize (__s), __fmt,
#      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   70 |                                    __va_arg_pack ());
#      |                                    ~~~~~~~~~~~~~~~~~
#   71|     TT_ASSERT_FALSE(config_read_file(&cfg, input_file));
#   72|   
#   73|->   snprintf(expected_error, sizeof(expected_error), "%s:%s",
#   74|              input_file, parse_error);
#   75|   

Error: COMPILER_WARNING: [#def27]
libconfig-1.7.3/tests/tests.c: scope_hint: In function ‘ParseInvalidStrings’
libconfig-1.7.3/tests/tests.c:97:60: warning[-Wformat-truncation=]: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 121
#   97 |   snprintf(expected_error, sizeof(expected_error), "(null):%s", parse_error);
#      |                                                            ^~
#......
#  209 |     parse_string_and_compare_error(input_text, error_text);
#      |                                                ~~~~~~~~~~   
/usr/include/bits/stdio2.h:68:10: note: ‘__snprintf_chk’ output between 8 and 135 bytes into a destination of size 128
#   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
#      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   69 |                                    __glibc_objsize (__s), __fmt,
#      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   70 |                                    __va_arg_pack ());
#      |                                    ~~~~~~~~~~~~~~~~~
#   95|     TT_ASSERT_FALSE(config_read_string(&cfg, input_text));
#   96|   
#   97|->   snprintf(expected_error, sizeof(expected_error), "(null):%s", parse_error);
#   98|   
#   99|     snprintf(actual_error, sizeof(actual_error), "%s:%d %s\n",

Scan Properties

analyzer-version-clippy1.92.0
analyzer-version-cppcheck2.19.1
analyzer-version-gcc16.0.0
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
diffbase-analyzer-version-clippy1.92.0
diffbase-analyzer-version-cppcheck2.19.1
diffbase-analyzer-version-gcc16.0.0
diffbase-analyzer-version-gcc-analyzer16.0.0
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-238.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-namelibconfig-1.8.2-1.fc44
diffbase-store-results-to/tmp/tmpdtrn8856/libconfig-1.8.2-1.fc44.tar.xz
diffbase-time-created2026-01-08 18:38:22
diffbase-time-finished2026-01-08 18:39:50
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmpdtrn8856/libconfig-1.8.2-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpdtrn8856/libconfig-1.8.2-1.fc44.src.rpm'
diffbase-tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-238.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namelibconfig-1.7.3-12.fc43
store-results-to/tmp/tmprkr5dt13/libconfig-1.7.3-12.fc43.tar.xz
time-created2026-01-08 18:35:59
time-finished2026-01-08 18:37:58
titleFixed findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmprkr5dt13/libconfig-1.7.3-12.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmprkr5dt13/libconfig-1.7.3-12.fc43.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9