exfatprogs-1.3.1-1.fc44

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-457): [#def1]
exfatprogs-1.3.1/dump/dump.c:319:21: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘name[0]’
exfatprogs-1.3.1/dump/dump.c:839:12: enter_function: entry to ‘exfat_show_dentry_set_by_path’
exfatprogs-1.3.1/dump/dump.c:846:15: call_function: calling ‘exfat_create_inode_by_path’ from ‘exfat_show_dentry_set_by_path’
#  317|   		len = get_name_from_path(p_path, name, sizeof(name));
#  318|   		p_path += len;
#  319|-> 		if (name[0] == '\0' || len == 0) {
#  320|   			*new = inode;
#  321|   			return 0;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def2]
exfatprogs-1.3.1/fsck/fsck.c:314:21: warning[-Wanalyzer-malloc-leak]: leak of ‘sect’
exfatprogs-1.3.1/fsck/fsck.c:308:16: acquire_memory: allocated here
exfatprogs-1.3.1/fsck/fsck.c:309:12: branch_false: following ‘false’ branch (when ‘sect’ is non-NULL)...
exfatprogs-1.3.1/fsck/fsck.c:312:9: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:313:21: branch_true: following ‘true’ branch (when ‘i != 11’)...
exfatprogs-1.3.1/fsck/fsck.c:315:33: branch_true: ...to here
exfatprogs-1.3.1/fsck/fsck.c:314:21: throw: if ‘exfat_read’ throws an exception...
exfatprogs-1.3.1/fsck/fsck.c:314:21: danger: ‘sect’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  312|   	checksum = 0;
#  313|   	for (i = 0; i < 11; i++) {
#  314|-> 		if (exfat_read(dev_fd, sect, sect_size,
#  315|   				bs_offset * sect_size + i * sect_size) !=
#  316|   				(ssize_t)sect_size) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def3]
exfatprogs-1.3.1/fsck/fsck.c:384:13: warning[-Wanalyzer-malloc-leak]: leak of ‘bs’
exfatprogs-1.3.1/fsck/fsck.c:378:14: acquire_memory: allocated here
exfatprogs-1.3.1/fsck/fsck.c:379:12: branch_false: following ‘false’ branch (when ‘bs’ is non-NULL)...
exfatprogs-1.3.1/fsck/fsck.c:385:25: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:384:13: throw: if ‘exfat_read’ throws an exception...
exfatprogs-1.3.1/fsck/fsck.c:384:13: danger: ‘bs’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  382|   	}
#  383|   
#  384|-> 	if (exfat_read(bd->dev_fd, bs, sizeof(*bs),
#  385|   			bs_offset * sect_size) != (ssize_t)sizeof(*bs)) {
#  386|   		exfat_err("failed to read a boot sector\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def4]
exfatprogs-1.3.1/fsck/fsck.c:467:21: warning[-Wanalyzer-malloc-leak]: leak of ‘sector’
exfatprogs-1.3.1/fsck/fsck.c:462:18: acquire_memory: allocated here
exfatprogs-1.3.1/fsck/fsck.c:463:12: branch_false: following ‘false’ branch (when ‘sector’ is non-NULL)...
exfatprogs-1.3.1/fsck/fsck.c:463:12: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:466:21: branch_true: following ‘true’ branch (when ‘i != 12’)...
exfatprogs-1.3.1/fsck/fsck.c:468:33: branch_true: ...to here
exfatprogs-1.3.1/fsck/fsck.c:467:21: throw: if ‘exfat_read’ throws an exception...
exfatprogs-1.3.1/fsck/fsck.c:467:21: danger: ‘sector’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  465|   
#  466|   	for (i = 0; i < 12; i++) {
#  467|-> 		if (exfat_read(bd->dev_fd, sector, sect_size,
#  468|   				BACKUP_BOOT_SEC_IDX * sect_size +
#  469|   				i * sect_size) !=

Error: GCC_ANALYZER_WARNING (CWE-401): [#def5]
exfatprogs-1.3.1/fsck/fsck.c:510:13: warning[-Wanalyzer-malloc-leak]: leak of ‘boot_sect’
exfatprogs-1.3.1/fsck/fsck.c:506:21: acquire_memory: allocated here
exfatprogs-1.3.1/fsck/fsck.c:507:12: branch_false: following ‘false’ branch (when ‘boot_sect’ is non-NULL)...
exfatprogs-1.3.1/fsck/fsck.c:510:13: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:510:13: throw: if ‘exfat_read’ throws an exception...
exfatprogs-1.3.1/fsck/fsck.c:510:13: danger: ‘boot_sect’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  508|   		return -ENOMEM;
#  509|   
#  510|-> 	if (exfat_read(blkdev->dev_fd, boot_sect,
#  511|   		       sizeof(*boot_sect), 0) != (ssize_t)sizeof(*boot_sect)) {
#  512|   		exfat_err("failed to read Main boot sector\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
exfatprogs-1.3.1/fsck/fsck.c:1063:1: warning[-Wanalyzer-malloc-leak]: leak of ‘**fsck.exfat.upcase_table’
exfatprogs-1.3.1/fsck/fsck.c:1178:12: enter_function: entry to ‘read_upcase_table’
exfatprogs-1.3.1/fsck/fsck.c:1198:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/fsck/fsck.c:1206:19: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1206:19: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/fsck/fsck.c:1209:9: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1213:12: branch_true: following ‘true’ branch...
exfatprogs-1.3.1/fsck/fsck.c:1222:25: branch_true: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1223:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/fsck/fsck.c:1224:38: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1223:13: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/fsck/fsck.c:1233:18: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1234:12: branch_false: following ‘false’ branch (when ‘upcase’ is non-NULL)...
exfatprogs-1.3.1/fsck/fsck.c:1242:25: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1240:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/fsck/fsck.c:1248:9: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1250:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/fsck/fsck.c:1262:32: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1269:12: branch_false: following ‘false’ branch (when ‘valid_upcase == upcase’)...
exfatprogs-1.3.1/fsck/fsck.c:1272:1: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1273:12: branch_false: following ‘false’ branch (when ‘upcase == valid_upcase’)...
exfatprogs-1.3.1/fsck/fsck.c:1279:31: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1279:31: acquire_memory: allocated here
exfatprogs-1.3.1/fsck/fsck.c:1280:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/fsck/fsck.c:1285:47: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1285:9: call_function: calling ‘decompress_upcase_table’ from ‘read_upcase_table’
# 1061|   	}
# 1062|   	return 0;
# 1063|-> }
# 1064|   
# 1065|   static bool exfat_has_default_upcase_table(struct exfat *exfat, clus_t *clu)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
exfatprogs-1.3.1/fsck/fsck.c:1077:14: warning[-Wanalyzer-malloc-leak]: leak of ‘upcase’
exfatprogs-1.3.1/fsck/fsck.c:1073:18: acquire_memory: allocated here
exfatprogs-1.3.1/fsck/fsck.c:1074:12: branch_false: following ‘false’ branch (when ‘upcase’ is non-NULL)...
exfatprogs-1.3.1/fsck/fsck.c:1077:14: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1077:14: throw: if ‘exfat_heap_clus’ throws an exception...
exfatprogs-1.3.1/fsck/fsck.c:1077:14: danger: ‘upcase’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
# 1075|   		return false;
# 1076|   
# 1077|-> 	if (!exfat_heap_clus(exfat, *clu))
# 1078|   		*clu = def_clu;
# 1079|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def8]
exfatprogs-1.3.1/fsck/fsck.c:1081:16: warning[-Wanalyzer-malloc-leak]: leak of ‘upcase’
exfatprogs-1.3.1/fsck/fsck.c:1073:18: acquire_memory: allocated here
exfatprogs-1.3.1/fsck/fsck.c:1074:12: branch_false: following ‘false’ branch (when ‘upcase’ is non-NULL)...
exfatprogs-1.3.1/fsck/fsck.c:1077:14: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1081:16: throw: if ‘pread’ throws an exception...
exfatprogs-1.3.1/fsck/fsck.c:1081:16: danger: ‘upcase’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
# 1079|   
# 1080|   again:
# 1081|-> 	size = pread(exfat->blk_dev->dev_fd, upcase,
# 1082|   			sizeof(default_upcase_table),
# 1083|   			exfat_c2o(exfat, *clu));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def9]
exfatprogs-1.3.1/fsck/fsck.c:1083:25: warning[-Wanalyzer-malloc-leak]: leak of ‘upcase’
exfatprogs-1.3.1/fsck/fsck.c:1073:18: acquire_memory: allocated here
exfatprogs-1.3.1/fsck/fsck.c:1074:12: branch_false: following ‘false’ branch (when ‘upcase’ is non-NULL)...
exfatprogs-1.3.1/fsck/fsck.c:1077:14: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1083:25: throw: if ‘exfat_c2o’ throws an exception...
exfatprogs-1.3.1/fsck/fsck.c:1083:25: danger: ‘upcase’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
# 1081|   	size = pread(exfat->blk_dev->dev_fd, upcase,
# 1082|   			sizeof(default_upcase_table),
# 1083|-> 			exfat_c2o(exfat, *clu));
# 1084|   	if (size == sizeof(default_upcase_table)) {
# 1085|   		if (!memcmp(upcase, default_upcase_table, size)) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def10]
exfatprogs-1.3.1/fsck/fsck.c:1240:13: warning[-Wanalyzer-malloc-leak]: leak of ‘upcase’
exfatprogs-1.3.1/fsck/fsck.c:1198:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/fsck/fsck.c:1206:19: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1206:19: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/fsck/fsck.c:1209:9: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1213:12: branch_true: following ‘true’ branch...
exfatprogs-1.3.1/fsck/fsck.c:1222:25: branch_true: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1223:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/fsck/fsck.c:1224:38: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1223:13: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/fsck/fsck.c:1233:18: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1233:18: acquire_memory: allocated here
exfatprogs-1.3.1/fsck/fsck.c:1234:12: branch_false: following ‘false’ branch (when ‘upcase’ is non-NULL)...
exfatprogs-1.3.1/fsck/fsck.c:1242:25: branch_false: ...to here
exfatprogs-1.3.1/fsck/fsck.c:1240:13: throw: if ‘exfat_c2o’ throws an exception...
exfatprogs-1.3.1/fsck/fsck.c:1240:13: danger: ‘upcase’ leaks here; was allocated at [(11)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/10)
# 1238|   	}
# 1239|   
# 1240|-> 	if (exfat_read(exfat->blk_dev->dev_fd, upcase, size,
# 1241|   			exfat_c2o(exfat,
# 1242|   			le32_to_cpu(dentry->upcase_start_clu))) != size) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def11]
exfatprogs-1.3.1/fsck/repair.c:189:23: warning[-Wanalyzer-malloc-leak]: leak of ‘rename’
exfatprogs-1.3.1/fsck/repair.c:171:24: acquire_memory: allocated here
exfatprogs-1.3.1/fsck/repair.c:173:12: branch_false: following ‘false’ branch (when ‘rename’ is non-NULL)...
exfatprogs-1.3.1/fsck/repair.c:173:12: branch_false: ...to here
exfatprogs-1.3.1/fsck/repair.c:180:12: branch_true: following ‘true’ branch...
exfatprogs-1.3.1/fsck/repair.c:184:23: branch_true: ...to here
exfatprogs-1.3.1/fsck/repair.c:189:23: throw: if ‘exfat_utf16_enc’ throws an exception...
exfatprogs-1.3.1/fsck/repair.c:189:23: danger: ‘rename’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  187|   
#  188|   		memset(utf16_name, 0, name_size);
#  189|-> 		len = exfat_utf16_enc(rename, utf16_name, name_size);
#  190|   		if (len < 0)
#  191|   			goto out;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def12]
exfatprogs-1.3.1/fsck/repair.c:193:23: warning[-Wanalyzer-malloc-leak]: leak of ‘rename’
exfatprogs-1.3.1/fsck/repair.c:171:24: acquire_memory: allocated here
exfatprogs-1.3.1/fsck/repair.c:173:12: branch_false: following ‘false’ branch (when ‘rename’ is non-NULL)...
exfatprogs-1.3.1/fsck/repair.c:173:12: branch_false: ...to here
exfatprogs-1.3.1/fsck/repair.c:180:12: branch_true: following ‘true’ branch...
exfatprogs-1.3.1/fsck/repair.c:184:23: branch_true: ...to here
exfatprogs-1.3.1/fsck/repair.c:190:20: branch_false: following ‘false’ branch (when ‘len >= 0’)...
exfatprogs-1.3.1/fsck/repair.c:193:23: branch_false: ...to here
exfatprogs-1.3.1/fsck/repair.c:193:23: throw: if ‘exfat_check_name’ throws an exception...
exfatprogs-1.3.1/fsck/repair.c:193:23: danger: ‘rename’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  191|   			goto out;
#  192|   
#  193|-> 		err = exfat_check_name(utf16_name, len >> 1);
#  194|   		if (err != len >> 1) {
#  195|   			printf("filename contain invalid character(%c)\n",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def13]
exfatprogs-1.3.1/fsck/repair.c:200:17: warning[-Wanalyzer-malloc-leak]: leak of ‘rename’
exfatprogs-1.3.1/fsck/repair.c:171:24: acquire_memory: allocated here
exfatprogs-1.3.1/fsck/repair.c:173:12: branch_false: following ‘false’ branch (when ‘rename’ is non-NULL)...
exfatprogs-1.3.1/fsck/repair.c:173:12: branch_false: ...to here
exfatprogs-1.3.1/fsck/repair.c:180:12: branch_true: following ‘true’ branch...
exfatprogs-1.3.1/fsck/repair.c:184:23: branch_true: ...to here
exfatprogs-1.3.1/fsck/repair.c:190:20: branch_false: following ‘false’ branch (when ‘len >= 0’)...
exfatprogs-1.3.1/fsck/repair.c:193:23: branch_false: ...to here
exfatprogs-1.3.1/fsck/repair.c:200:17: throw: if ‘exfat_de_iter_flush’ throws an exception...
exfatprogs-1.3.1/fsck/repair.c:200:17: danger: ‘rename’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  198|   		}
#  199|   
#  200|-> 		exfat_de_iter_flush(iter);
#  201|   		err = exfat_lookup_file(iter->exfat, iter->parent, rename, &filter);
#  202|   		if (!err) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def14]
exfatprogs-1.3.1/fsck/repair.c:201:23: warning[-Wanalyzer-malloc-leak]: leak of ‘rename’
exfatprogs-1.3.1/fsck/repair.c:171:24: acquire_memory: allocated here
exfatprogs-1.3.1/fsck/repair.c:173:12: branch_false: following ‘false’ branch (when ‘rename’ is non-NULL)...
exfatprogs-1.3.1/fsck/repair.c:173:12: branch_false: ...to here
exfatprogs-1.3.1/fsck/repair.c:180:12: branch_true: following ‘true’ branch...
exfatprogs-1.3.1/fsck/repair.c:184:23: branch_true: ...to here
exfatprogs-1.3.1/fsck/repair.c:190:20: branch_false: following ‘false’ branch (when ‘len >= 0’)...
exfatprogs-1.3.1/fsck/repair.c:193:23: branch_false: ...to here
exfatprogs-1.3.1/fsck/repair.c:201:23: throw: if ‘exfat_lookup_file’ throws an exception...
exfatprogs-1.3.1/fsck/repair.c:201:23: danger: ‘rename’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  199|   
#  200|   		exfat_de_iter_flush(iter);
#  201|-> 		err = exfat_lookup_file(iter->exfat, iter->parent, rename, &filter);
#  202|   		if (!err) {
#  203|   			printf("file(%s) already exists, retry to insert name\n", rename);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def15]
exfatprogs-1.3.1/lib/exfat_fs.c:186:13: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
exfatprogs-1.3.1/lib/exfat_fs.c:126:15: enter_function: entry to ‘exfat_alloc_exfat’
exfatprogs-1.3.1/lib/exfat_fs.c:137:12: branch_false: following ‘false’ branch (when ‘exfat’ is non-NULL)...
exfatprogs-1.3.1/lib/exfat_fs.c:145:9: branch_false: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:154:31: acquire_memory: allocated here
exfatprogs-1.3.1/lib/exfat_fs.c:155:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/lib/exfat_fs.c:160:31: branch_false: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:161:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/lib/exfat_fs.c:166:30: branch_false: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:167:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/lib/exfat_fs.c:173:17: call_function: inlined call to ‘exfat_get_read_size’ from ‘exfat_alloc_exfat’
exfatprogs-1.3.1/lib/exfat_fs.c:177:12: branch_false: following ‘false’ branch (when ‘root’ is NULL)...
exfatprogs-1.3.1/lib/exfat_fs.c:180:23: branch_false: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:180:23: call_function: calling ‘exfat_alloc_inode’ from ‘exfat_alloc_exfat’
exfatprogs-1.3.1/lib/exfat_fs.c:180:23: return_function: returning to ‘exfat_alloc_exfat’ from ‘exfat_alloc_inode’
exfatprogs-1.3.1/lib/exfat_fs.c:181:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/lib/exfat_fs.c:184:35: branch_false: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:186:13: throw: if ‘exfat_root_clus_count’ throws an exception...
exfatprogs-1.3.1/lib/exfat_fs.c:186:13: danger: ‘<unknown>’ leaks here; was allocated at [(4)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/3)
#  184|   	exfat->root->first_clus = le32_to_cpu(exfat->bs->bsx.root_cluster);
#  185|   
#  186|-> 	if (exfat_root_clus_count(exfat)) {
#  187|   		exfat_err("failed to follow the cluster chain of root\n");
#  188|   		goto err;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def16]
exfatprogs-1.3.1/lib/exfat_fs.c:186:13: warning[-Wanalyzer-malloc-leak]: leak of ‘exfat’
exfatprogs-1.3.1/lib/exfat_fs.c:126:15: enter_function: entry to ‘exfat_alloc_exfat’
exfatprogs-1.3.1/lib/exfat_fs.c:136:17: acquire_memory: allocated here
exfatprogs-1.3.1/lib/exfat_fs.c:137:12: branch_false: following ‘false’ branch (when ‘exfat’ is non-NULL)...
exfatprogs-1.3.1/lib/exfat_fs.c:145:9: branch_false: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:155:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/lib/exfat_fs.c:160:31: branch_false: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:161:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/lib/exfat_fs.c:166:30: branch_false: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:167:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/lib/exfat_fs.c:173:17: call_function: inlined call to ‘exfat_get_read_size’ from ‘exfat_alloc_exfat’
exfatprogs-1.3.1/lib/exfat_fs.c:177:12: branch_false: following ‘false’ branch (when ‘root’ is NULL)...
exfatprogs-1.3.1/lib/exfat_fs.c:180:23: branch_false: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:180:23: call_function: calling ‘exfat_alloc_inode’ from ‘exfat_alloc_exfat’
exfatprogs-1.3.1/lib/exfat_fs.c:180:23: return_function: returning to ‘exfat_alloc_exfat’ from ‘exfat_alloc_inode’
exfatprogs-1.3.1/lib/exfat_fs.c:181:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/lib/exfat_fs.c:184:35: branch_false: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:186:13: throw: if ‘exfat_root_clus_count’ throws an exception...
exfatprogs-1.3.1/lib/exfat_fs.c:186:13: danger: ‘exfat’ leaks here; was allocated at [(2)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/1)
#  184|   	exfat->root->first_clus = le32_to_cpu(exfat->bs->bsx.root_cluster);
#  185|   
#  186|-> 	if (exfat_root_clus_count(exfat)) {
#  187|   		exfat_err("failed to follow the cluster chain of root\n");
#  188|   		goto err;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def17]
exfatprogs-1.3.1/lib/exfat_fs.c:228:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
exfatprogs-1.3.1/lib/exfat_fs.c:197:21: enter_function: entry to ‘exfat_alloc_buffer’
exfatprogs-1.3.1/lib/exfat_fs.c:204:12: branch_false: following ‘false’ branch (when ‘bd’ is non-NULL)...
exfatprogs-1.3.1/lib/exfat_fs.c:204:12: branch_false: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:207:21: branch_true: following ‘true’ branch...
exfatprogs-1.3.1/lib/exfat_fs.c:208:32: branch_true: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:208:32: acquire_memory: allocated here
exfatprogs-1.3.1/lib/exfat_fs.c:209:20: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/lib/exfat_fs.c:212:24: branch_false: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:207:21: branch_true: following ‘true’ branch...
exfatprogs-1.3.1/lib/exfat_fs.c:208:32: branch_true: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:209:20: branch_true: following ‘true’ branch...
exfatprogs-1.3.1/lib/exfat_fs.c:210:25: branch_true: ...to here
exfatprogs-1.3.1/lib/exfat_fs.c:216:9: call_function: calling ‘exfat_free_buffer’ from ‘exfat_alloc_buffer’
#  226|   			free(bd[i].buffer);
#  227|   	}
#  228|-> 	free(bd);
#  229|   }
#  230|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def18]
exfatprogs-1.3.1/lib/libexfat.c:215:16: warning[-Wanalyzer-malloc-leak]: leak of ‘bs’
exfatprogs-1.3.1/lib/libexfat.c:371:7: enter_function: entry to ‘exfat_get_root_entry_offset’
exfatprogs-1.3.1/lib/libexfat.c:378:14: acquire_memory: allocated here
exfatprogs-1.3.1/lib/libexfat.c:379:12: branch_false: following ‘false’ branch (when ‘bs’ is non-NULL)...
exfatprogs-1.3.1/lib/libexfat.c:384:18: branch_false: ...to here
exfatprogs-1.3.1/lib/libexfat.c:384:18: call_function: inlined call to ‘exfat_read’ from ‘exfat_get_root_entry_offset’
#  213|   ssize_t exfat_read(int fd, void *buf, size_t size, off_t offset)
#  214|   {
#  215|-> 	return pread(fd, buf, size, offset);
#  216|   }
#  217|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def19]
exfatprogs-1.3.1/lib/libexfat.c:215:16: warning[-Wanalyzer-malloc-leak]: leak of ‘pbr’
exfatprogs-1.3.1/lib/libexfat.c:1032:5: enter_function: entry to ‘read_boot_sect’
exfatprogs-1.3.1/lib/libexfat.c:1038:15: acquire_memory: allocated here
exfatprogs-1.3.1/lib/libexfat.c:1039:12: branch_false: following ‘false’ branch (when ‘pbr’ is non-NULL)...
exfatprogs-1.3.1/lib/libexfat.c:1044:13: branch_false: ...to here
exfatprogs-1.3.1/lib/libexfat.c:1044:13: call_function: inlined call to ‘exfat_read’ from ‘read_boot_sect’
#  213|   ssize_t exfat_read(int fd, void *buf, size_t size, off_t offset)
#  214|   {
#  215|-> 	return pread(fd, buf, size, offset);
#  216|   }
#  217|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def20]
exfatprogs-1.3.1/lib/libexfat.c:215:16: warning[-Wanalyzer-malloc-leak]: leak of ‘ppbr’
exfatprogs-1.3.1/lib/libexfat.c:746:5: enter_function: entry to ‘exfat_show_volume_serial’
exfatprogs-1.3.1/lib/libexfat.c:751:16: acquire_memory: allocated here
exfatprogs-1.3.1/lib/libexfat.c:752:12: branch_false: following ‘false’ branch (when ‘ppbr’ is non-NULL)...
exfatprogs-1.3.1/lib/libexfat.c:758:15: call_function: inlined call to ‘exfat_read’ from ‘exfat_show_volume_serial’
#  213|   ssize_t exfat_read(int fd, void *buf, size_t size, off_t offset)
#  214|   {
#  215|-> 	return pread(fd, buf, size, offset);
#  216|   }
#  217|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def21]
exfatprogs-1.3.1/lib/libexfat.c:512:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘&volume_label’
exfatprogs-1.3.1/lib/libexfat.c:468:5: enter_function: entry to ‘exfat_set_volume_label’
exfatprogs-1.3.1/lib/libexfat.c:482:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/lib/libexfat.c:487:24: branch_false: ...to here
exfatprogs-1.3.1/lib/libexfat.c:488:20: branch_false: following ‘false’ branch (when ‘pvol’ is non-NULL)...
exfatprogs-1.3.1/lib/libexfat.c:492:17: branch_false: ...to here
exfatprogs-1.3.1/lib/libexfat.c:495:28: call_function: calling ‘exfat_utf16_enc’ from ‘exfat_set_volume_label’
exfatprogs-1.3.1/lib/libexfat.c:495:28: return_function: returning to ‘exfat_set_volume_label’ from ‘exfat_utf16_enc’
exfatprogs-1.3.1/lib/libexfat.c:497:12: branch_false: following ‘false’ branch (when ‘volume_label_len >= 0’)...
exfatprogs-1.3.1/lib/libexfat.c:503:30: branch_false: ...to here
exfatprogs-1.3.1/lib/libexfat.c:504:15: call_function: calling ‘exfat_check_name’ from ‘exfat_set_volume_label’
exfatprogs-1.3.1/lib/libexfat.c:504:15: return_function: returning to ‘exfat_set_volume_label’ from ‘exfat_check_name’
exfatprogs-1.3.1/lib/libexfat.c:505:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/lib/libexfat.c:512:9: branch_false: ...to here
exfatprogs-1.3.1/lib/libexfat.c:512:9: danger: use of uninitialized value ‘&volume_label’ here
#  510|   	}
#  511|   
#  512|-> 	memcpy(pvol->vol_label, volume_label, volume_label_len);
#  513|   
#  514|   	loc.parent = exfat->root;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def22]
exfatprogs-1.3.1/lib/libexfat.c:622:9: warning[-Wanalyzer-malloc-leak]: leak of ‘dentry’
exfatprogs-1.3.1/lib/libexfat.c:634:5: enter_function: entry to ‘exfat_set_volume_guid’
exfatprogs-1.3.1/lib/libexfat.c:647:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/lib/libexfat.c:652:20: branch_false: ...to here
exfatprogs-1.3.1/lib/libexfat.c:652:20: branch_false: following ‘false’ branch (when ‘guid’ is non-NULL)...
exfatprogs-1.3.1/lib/libexfat.c:655:26: branch_false: ...to here
exfatprogs-1.3.1/lib/libexfat.c:655:26: acquire_memory: allocated here
exfatprogs-1.3.1/lib/libexfat.c:656:20: branch_false: following ‘false’ branch (when ‘dentry’ is non-NULL)...
exfatprogs-1.3.1/lib/libexfat.c:660:12: branch_false: ...to here
exfatprogs-1.3.1/lib/libexfat.c:660:12: branch_true: following ‘true’ branch (when ‘guid’ is non-NULL)...
exfatprogs-1.3.1/lib/libexfat.c:662:23: branch_true: ...to here
exfatprogs-1.3.1/lib/libexfat.c:662:23: call_function: calling ‘__exfat_set_volume_guid’ from ‘exfat_set_volume_guid’
#  620|   		return err;
#  621|   
#  622|-> 	exfat_calc_dentry_checksum(dentry, &checksum, true);
#  623|   	dentry->dentry.guid.checksum = cpu_to_le16(checksum);
#  624|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def23]
exfatprogs-1.3.1/lib/libexfat.c:693:15: warning[-Wanalyzer-malloc-leak]: leak of ‘buf’
exfatprogs-1.3.1/lib/libexfat.c:778:12: enter_function: entry to ‘exfat_update_boot_checksum’
exfatprogs-1.3.1/lib/libexfat.c:784:15: acquire_memory: allocated here
exfatprogs-1.3.1/lib/libexfat.c:785:12: branch_false: following ‘false’ branch (when ‘buf’ is non-NULL)...
exfatprogs-1.3.1/lib/libexfat.c:790:12: branch_false: ...to here
exfatprogs-1.3.1/lib/libexfat.c:793:38: branch_true: following ‘true’ branch (when ‘sec_idx != 11’)...
exfatprogs-1.3.1/lib/libexfat.c:796:50: branch_true: ...to here
exfatprogs-1.3.1/lib/libexfat.c:796:23: call_function: calling ‘exfat_read_sector’ from ‘exfat_update_boot_checksum’
#  691|   		(unsigned long long)sec_off * bd->sector_size;
#  692|   
#  693|-> 	ret = pread(bd->dev_fd, buf, bd->sector_size, offset);
#  694|   	if (ret < 0) {
#  695|   		exfat_err("read failed, sec_off : %u\n", sec_off);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def24]
exfatprogs-1.3.1/lib/libexfat.c:708:17: warning[-Wanalyzer-malloc-leak]: leak of ‘checksum_buf’
exfatprogs-1.3.1/lib/libexfat.c:717:5: enter_function: entry to ‘exfat_write_checksum_sector’
exfatprogs-1.3.1/lib/libexfat.c:725:24: acquire_memory: allocated here
exfatprogs-1.3.1/lib/libexfat.c:726:12: branch_false: following ‘false’ branch (when ‘checksum_buf’ is non-NULL)...
exfatprogs-1.3.1/lib/libexfat.c:729:12: branch_false: ...to here
exfatprogs-1.3.1/lib/libexfat.c:735:15: call_function: calling ‘exfat_write_sector’ from ‘exfat_write_checksum_sector’
#  706|   		(unsigned long long)sec_off * bd->sector_size;
#  707|   
#  708|-> 	bytes = pwrite(bd->dev_fd, buf, bd->sector_size, offset);
#  709|   	if (bytes != (int)bd->sector_size) {
#  710|   		exfat_err("write failed, sec_off : %u, bytes : %d\n", sec_off,

Error: GCC_ANALYZER_WARNING (CWE-131): [#def25]
exfatprogs-1.3.1/lib/libexfat.c:725:24: warning[-Wanalyzer-allocation-size]: allocated buffer size is not a multiple of the pointee's size
#  723|   	unsigned int sec_idx = CHECKSUM_SEC_IDX;
#  724|   
#  725|-> 	checksum_buf = malloc(bd->sector_size);
#  726|   	if (!checksum_buf)
#  727|   		return -1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def26]
exfatprogs-1.3.1/mkfs/mkfs.c:123:15: warning[-Wanalyzer-malloc-leak]: leak of ‘ppbr’
exfatprogs-1.3.1/mkfs/mkfs.c:628:5: enter_function: entry to ‘main’
exfatprogs-1.3.1/mkfs/mkfs.c:728:12: branch_false: following ‘false’ branch (when ‘version_only == 0’)...
exfatprogs-1.3.1/mkfs/mkfs.c:731:19: branch_false: ...to here
exfatprogs-1.3.1/mkfs/mkfs.c:735:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/mkfs/mkfs.c:739:13: branch_false: ...to here
exfatprogs-1.3.1/mkfs/mkfs.c:749:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/mkfs/mkfs.c:752:15: branch_false: ...to here
exfatprogs-1.3.1/mkfs/mkfs.c:752:15: call_function: calling ‘exfat_build_mkfs_info’ from ‘main’
exfatprogs-1.3.1/mkfs/mkfs.c:752:15: return_function: returning to ‘main’ from ‘exfat_build_mkfs_info’
exfatprogs-1.3.1/mkfs/mkfs.c:753:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/mkfs/mkfs.c:756:15: branch_false: ...to here
exfatprogs-1.3.1/mkfs/mkfs.c:756:15: call_function: calling ‘exfat_zero_out_disk’ from ‘main’
exfatprogs-1.3.1/mkfs/mkfs.c:756:15: return_function: returning to ‘main’ from ‘exfat_zero_out_disk’
exfatprogs-1.3.1/mkfs/mkfs.c:757:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/mkfs/mkfs.c:760:15: branch_false: ...to here
exfatprogs-1.3.1/mkfs/mkfs.c:760:15: call_function: calling ‘make_exfat’ from ‘main’
#  121|   
#  122|   	/* write main boot sector */
#  123|-> 	ret = exfat_write_sector(bd, ppbr, sec_idx);
#  124|   	if (ret < 0) {
#  125|   		exfat_err("main boot sector write failed\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def27]
exfatprogs-1.3.1/mkfs/mkfs.c:158:21: warning[-Wanalyzer-malloc-leak]: leak of ‘peb’
exfatprogs-1.3.1/mkfs/mkfs.c:147:15: acquire_memory: allocated here
exfatprogs-1.3.1/mkfs/mkfs.c:148:12: branch_false: following ‘false’ branch (when ‘peb’ is non-NULL)...
exfatprogs-1.3.1/mkfs/mkfs.c:151:12: branch_false: ...to here
exfatprogs-1.3.1/mkfs/mkfs.c:157:21: branch_true: following ‘true’ branch (when ‘i != 8’)...
exfatprogs-1.3.1/mkfs/mkfs.c:158:21: branch_true: ...to here
exfatprogs-1.3.1/mkfs/mkfs.c:158:21: throw: if ‘exfat_write_sector’ throws an exception...
exfatprogs-1.3.1/mkfs/mkfs.c:158:21: danger: ‘peb’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  156|   	*peb_signature = cpu_to_le16(PBR_SIGNATURE);
#  157|   	for (i = 0; i < EXBOOT_SEC_NUM; i++) {
#  158|-> 		if (exfat_write_sector(bd, peb, sec_idx++)) {
#  159|   			exfat_err("extended boot sector write failed\n");
#  160|   			ret = -1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def28]
exfatprogs-1.3.1/mkfs/mkfs.c:187:15: warning[-Wanalyzer-malloc-leak]: leak of ‘oem’
exfatprogs-1.3.1/mkfs/mkfs.c:180:15: acquire_memory: allocated here
exfatprogs-1.3.1/mkfs/mkfs.c:181:12: branch_false: following ‘false’ branch (when ‘oem’ is non-NULL)...
exfatprogs-1.3.1/mkfs/mkfs.c:184:12: branch_false: ...to here
exfatprogs-1.3.1/mkfs/mkfs.c:187:15: throw: if ‘exfat_write_sector’ throws an exception...
exfatprogs-1.3.1/mkfs/mkfs.c:187:15: danger: ‘oem’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  185|   		sec_idx += BACKUP_BOOT_SEC_IDX;
#  186|   
#  187|-> 	ret = exfat_write_sector(bd, oem, sec_idx);
#  188|   	if (ret) {
#  189|   		exfat_err("oem sector write failed\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def29]
exfatprogs-1.3.1/mkfs/mkfs.c:335:18: warning[-Wanalyzer-malloc-leak]: leak of ‘bitmap’
exfatprogs-1.3.1/mkfs/mkfs.c:316:18: acquire_memory: allocated here
exfatprogs-1.3.1/mkfs/mkfs.c:317:12: branch_false: following ‘false’ branch (when ‘bitmap’ is non-NULL)...
exfatprogs-1.3.1/mkfs/mkfs.c:320:22: branch_false: ...to here
exfatprogs-1.3.1/mkfs/mkfs.c:326:12: branch_false: following ‘false’ branch (when ‘rem_bits == 0’)...
exfatprogs-1.3.1/mkfs/mkfs.c:331:27: branch_false: ...to here
exfatprogs-1.3.1/mkfs/mkfs.c:331:12: branch_false: following ‘false’ branch...
exfatprogs-1.3.1/mkfs/mkfs.c:335:68: branch_false: ...to here
exfatprogs-1.3.1/mkfs/mkfs.c:335:18: throw: if ‘pwrite’ throws an exception...
exfatprogs-1.3.1/mkfs/mkfs.c:335:18: danger: ‘bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  333|   
#  334|   
#  335|-> 	nbytes = pwrite(bd->dev_fd, bitmap, finfo.bitmap_byte_len, finfo.bitmap_byte_off);
#  336|   	if (nbytes != finfo.bitmap_byte_len) {
#  337|   		exfat_err("write failed, nbytes : %d, bitmap_len : %d\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
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-41.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-nameexfatprogs-1.3.1-1.fc44
store-results-to/tmp/tmp4po4bjvi/exfatprogs-1.3.1-1.fc44.tar.xz
time-created2026-01-08 16:00:24
time-finished2026-01-08 16:01:45
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmp4po4bjvi/exfatprogs-1.3.1-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp4po4bjvi/exfatprogs-1.3.1-1.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9