fuse3-3.18.1-1.fc44

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1]
fuse-3.18.1/example/hello_ll.c:113:20: warning[-Wanalyzer-malloc-leak]: leak of 'b.p'
fuse-3.18.1/example/hello_ll.c:133:13: enter_function: entry to 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:144:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:144:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll.c:145:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:145:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll.c:146:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
#  111|   	struct stat stbuf;
#  112|   	size_t oldsize = b->size;
#  113|-> 	b->size += fuse_add_direntry(req, NULL, 0, name, NULL, 0);
#  114|   	b->p = (char *) realloc(b->p, b->size);
#  115|   	memset(&stbuf, 0, sizeof(stbuf));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def2]
fuse-3.18.1/example/hello_ll.c:114:9: warning[-Wanalyzer-malloc-leak]: leak of 'b.p'
fuse-3.18.1/example/hello_ll.c:133:13: enter_function: entry to 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:144:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:144:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll.c:145:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:145:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll.c:146:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
#  112|   	size_t oldsize = b->size;
#  113|   	b->size += fuse_add_direntry(req, NULL, 0, name, NULL, 0);
#  114|-> 	b->p = (char *) realloc(b->p, b->size);
#  115|   	memset(&stbuf, 0, sizeof(stbuf));
#  116|   	stbuf.st_ino = ino;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def3]
fuse-3.18.1/example/hello_ll.c:117:9: warning[-Wanalyzer-malloc-leak]: leak of 'b.p'
fuse-3.18.1/example/hello_ll.c:133:13: enter_function: entry to 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:144:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
#  115|   	memset(&stbuf, 0, sizeof(stbuf));
#  116|   	stbuf.st_ino = ino;
#  117|-> 	fuse_add_direntry(req, b->p + oldsize, b->size - oldsize, name, &stbuf,
#  118|   			  b->size);
#  119|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def4]
fuse-3.18.1/example/hello_ll.c:127:24: warning[-Wanalyzer-malloc-leak]: leak of 'b.p'
fuse-3.18.1/example/hello_ll.c:133:13: enter_function: entry to 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:144:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:144:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll.c:145:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:145:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll.c:146:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:146:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll.c:147:17: call_function: calling 'reply_buf_limited' from 'hello_ll_readdir'
#  125|   {
#  126|   	if (off < bufsize)
#  127|-> 		return fuse_reply_buf(req, buf + off,
#  128|   				      min(bufsize - off, maxsize));
#  129|   	else

Error: GCC_ANALYZER_WARNING (CWE-401): [#def5]
fuse-3.18.1/example/hello_ll.c:130:24: warning[-Wanalyzer-malloc-leak]: leak of 'b.p'
fuse-3.18.1/example/hello_ll.c:133:13: enter_function: entry to 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:144:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:144:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll.c:145:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:145:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll.c:146:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll.c:146:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll.c:147:17: call_function: calling 'reply_buf_limited' from 'hello_ll_readdir'
#  128|   				      min(bufsize - off, maxsize));
#  129|   	else
#  130|-> 		return fuse_reply_buf(req, NULL, 0);
#  131|   }
#  132|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
fuse-3.18.1/example/hello_ll_uds.c:115:20: warning[-Wanalyzer-malloc-leak]: leak of 'b.p'
fuse-3.18.1/example/hello_ll_uds.c:135:13: enter_function: entry to 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:146:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:146:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll_uds.c:147:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:147:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll_uds.c:148:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
#  113|   	struct stat stbuf;
#  114|   	size_t oldsize = b->size;
#  115|-> 	b->size += fuse_add_direntry(req, NULL, 0, name, NULL, 0);
#  116|   	b->p = (char *) realloc(b->p, b->size);
#  117|   	memset(&stbuf, 0, sizeof(stbuf));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
fuse-3.18.1/example/hello_ll_uds.c:116:9: warning[-Wanalyzer-malloc-leak]: leak of 'b.p'
fuse-3.18.1/example/hello_ll_uds.c:135:13: enter_function: entry to 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:146:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:146:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll_uds.c:147:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:147:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll_uds.c:148:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
#  114|   	size_t oldsize = b->size;
#  115|   	b->size += fuse_add_direntry(req, NULL, 0, name, NULL, 0);
#  116|-> 	b->p = (char *) realloc(b->p, b->size);
#  117|   	memset(&stbuf, 0, sizeof(stbuf));
#  118|   	stbuf.st_ino = ino;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def8]
fuse-3.18.1/example/hello_ll_uds.c:119:9: warning[-Wanalyzer-malloc-leak]: leak of 'b.p'
fuse-3.18.1/example/hello_ll_uds.c:135:13: enter_function: entry to 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:146:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
#  117|   	memset(&stbuf, 0, sizeof(stbuf));
#  118|   	stbuf.st_ino = ino;
#  119|-> 	fuse_add_direntry(req, b->p + oldsize, b->size - oldsize, name, &stbuf,
#  120|   			  b->size);
#  121|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def9]
fuse-3.18.1/example/hello_ll_uds.c:129:24: warning[-Wanalyzer-malloc-leak]: leak of 'b.p'
fuse-3.18.1/example/hello_ll_uds.c:135:13: enter_function: entry to 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:146:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:146:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll_uds.c:147:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:147:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll_uds.c:148:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:148:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll_uds.c:149:17: call_function: calling 'reply_buf_limited' from 'hello_ll_readdir'
#  127|   {
#  128|   	if (off < bufsize)
#  129|-> 		return fuse_reply_buf(req, buf + off,
#  130|   				      min(bufsize - off, maxsize));
#  131|   	else

Error: GCC_ANALYZER_WARNING (CWE-401): [#def10]
fuse-3.18.1/example/hello_ll_uds.c:132:24: warning[-Wanalyzer-malloc-leak]: leak of 'b.p'
fuse-3.18.1/example/hello_ll_uds.c:135:13: enter_function: entry to 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:146:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:146:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll_uds.c:147:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:147:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll_uds.c:148:17: call_function: calling 'dirbuf_add' from 'hello_ll_readdir'
fuse-3.18.1/example/hello_ll_uds.c:148:17: return_function: returning to 'hello_ll_readdir' from 'dirbuf_add'
fuse-3.18.1/example/hello_ll_uds.c:149:17: call_function: calling 'reply_buf_limited' from 'hello_ll_readdir'
#  130|   				      min(bufsize - off, maxsize));
#  131|   	else
#  132|-> 		return fuse_reply_buf(req, NULL, 0);
#  133|   }
#  134|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def11]
fuse-3.18.1/example/hello_ll_uds.c:219:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'sfd'
fuse-3.18.1/example/hello_ll_uds.c:186:12: branch_false: following 'false' branch...
fuse-3.18.1/example/hello_ll_uds.c:193:13: branch_false: ...to here
fuse-3.18.1/example/hello_ll_uds.c:202:19: acquire_resource: stream socket created here
fuse-3.18.1/example/hello_ll_uds.c:203:12: branch_false: following 'false' branch (when 'sfd != -1')...
fuse-3.18.1/example/hello_ll_uds.c:208:9: branch_false: ...to here
fuse-3.18.1/example/hello_ll_uds.c:209:12: branch_false: following 'false' branch...
fuse-3.18.1/example/hello_ll_uds.c:215:13: branch_false: ...to here
fuse-3.18.1/example/hello_ll_uds.c:215:12: branch_false: following 'false' branch...
fuse-3.18.1/example/hello_ll_uds.c:218:9: branch_false: ...to here
fuse-3.18.1/example/hello_ll_uds.c:219:19: throw: if 'accept' throws an exception...
fuse-3.18.1/example/hello_ll_uds.c:219:19: danger: 'sfd' leaks here
#  217|   
#  218|   	printf("Awaiting connection on socket at %s...\n", socket_path);
#  219|-> 	int cfd = accept(sfd, NULL, NULL);
#  220|   	if (cfd == -1) {
#  221|   		printf("Could not accept connection. Error: %s\n",

Error: GCC_ANALYZER_WARNING (CWE-775): [#def12]
fuse-3.18.1/example/hello_ll_uds.c:228:1: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'sfd'
fuse-3.18.1/example/hello_ll_uds.c:186:12: branch_false: following 'false' branch...
fuse-3.18.1/example/hello_ll_uds.c:193:13: branch_false: ...to here
fuse-3.18.1/example/hello_ll_uds.c:202:19: acquire_resource: stream socket created here
fuse-3.18.1/example/hello_ll_uds.c:203:12: branch_false: following 'false' branch (when 'sfd != -1')...
fuse-3.18.1/example/hello_ll_uds.c:208:9: branch_false: ...to here
fuse-3.18.1/example/hello_ll_uds.c:209:12: branch_false: following 'false' branch...
fuse-3.18.1/example/hello_ll_uds.c:215:13: branch_false: ...to here
fuse-3.18.1/example/hello_ll_uds.c:215:12: branch_true: following 'true' branch...
fuse-3.18.1/example/hello_ll_uds.c:190:24: branch_true: ...to here
fuse-3.18.1/example/hello_ll_uds.c:228:1: danger: 'sfd' leaks here
#  226|   	}
#  227|   	return cfd;
#  228|-> }
#  229|   
#  230|   static ssize_t stream_writev(int fd, struct iovec *iov, int count,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def13]
fuse-3.18.1/example/notify_inval_entry.c:219:5: warning[-Wanalyzer-malloc-leak]: leak of 'b.p'
fuse-3.18.1/example/notify_inval_entry.c:234:13: enter_function: entry to 'tfs_readdir'
fuse-3.18.1/example/notify_inval_entry.c:244:9: call_function: calling 'dirbuf_add' from 'tfs_readdir'
#  217|       memset(&stbuf, 0, sizeof(stbuf));
#  218|       stbuf.st_ino = ino;
#  219|->     fuse_add_direntry(req, b->p + oldsize, b->size - oldsize, name, &stbuf,
#  220|                         b->size);
#  221|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def14]
fuse-3.18.1/example/notify_inval_entry.c:283:23: warning[-Wanalyzer-malloc-leak]: leak of 'old_name'
fuse-3.18.1/example/notify_inval_entry.c:272:14: enter_function: entry to 'update_fs_loop'
fuse-3.18.1/example/notify_inval_entry.c:277:11: branch_true: following 'true' branch...
fuse-3.18.1/example/notify_inval_entry.c:278:20: branch_true: ...to here
fuse-3.18.1/example/notify_inval_entry.c:278:20: acquire_memory: allocated here
fuse-3.18.1/example/notify_inval_entry.c:279:9: call_function: calling 'update_fs' from 'update_fs_loop'
fuse-3.18.1/example/notify_inval_entry.c:279:9: return_function: returning to 'update_fs_loop' from 'update_fs'
fuse-3.18.1/example/notify_inval_entry.c:281:12: branch_true: following 'true' branch...
fuse-3.18.1/example/notify_inval_entry.c:282:15: branch_true: following 'true' branch...
fuse-3.18.1/example/notify_inval_entry.c:283:23: branch_true: ...to here
fuse-3.18.1/example/notify_inval_entry.c:283:23: throw: if 'fuse_lowlevel_notify_expire_entry' throws an exception...
fuse-3.18.1/example/notify_inval_entry.c:283:23: danger: 'old_name' leaks here; was allocated at [(4)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/3)
#  281|           if (!options.no_notify && lookup_cnt) {
#  282|               if(options.only_expire) { // expire entry
#  283|->                 ret = fuse_lowlevel_notify_expire_entry
#  284|                       (se, FUSE_ROOT_ID, old_name, strlen(old_name));
#  285|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def15]
fuse-3.18.1/example/notify_inval_entry.c:283:23: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'old_name' where non-null expected
fuse-3.18.1/example/notify_inval_entry.c:272:14: enter_function: entry to 'update_fs_loop'
fuse-3.18.1/example/notify_inval_entry.c:277:11: branch_true: following 'true' branch...
fuse-3.18.1/example/notify_inval_entry.c:278:20: branch_true: ...to here
fuse-3.18.1/example/notify_inval_entry.c:278:20: acquire_memory: this call could return NULL
fuse-3.18.1/example/notify_inval_entry.c:279:9: call_function: calling 'update_fs' from 'update_fs_loop'
fuse-3.18.1/example/notify_inval_entry.c:279:9: return_function: returning to 'update_fs_loop' from 'update_fs'
fuse-3.18.1/example/notify_inval_entry.c:281:12: branch_true: following 'true' branch...
fuse-3.18.1/example/notify_inval_entry.c:282:15: branch_true: following 'true' branch...
fuse-3.18.1/example/notify_inval_entry.c:283:23: branch_true: ...to here
fuse-3.18.1/example/notify_inval_entry.c:283:23: danger: argument 1 ('old_name') from [(4)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/3) could be NULL where non-null expected
#  281|           if (!options.no_notify && lookup_cnt) {
#  282|               if(options.only_expire) { // expire entry
#  283|->                 ret = fuse_lowlevel_notify_expire_entry
#  284|                       (se, FUSE_ROOT_ID, old_name, strlen(old_name));
#  285|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def16]
fuse-3.18.1/example/notify_inval_entry.c:297:23: warning[-Wanalyzer-malloc-leak]: leak of 'old_name'
fuse-3.18.1/example/notify_inval_entry.c:272:14: enter_function: entry to 'update_fs_loop'
fuse-3.18.1/example/notify_inval_entry.c:277:11: branch_true: following 'true' branch...
fuse-3.18.1/example/notify_inval_entry.c:278:20: branch_true: ...to here
fuse-3.18.1/example/notify_inval_entry.c:278:20: acquire_memory: allocated here
fuse-3.18.1/example/notify_inval_entry.c:279:9: call_function: calling 'update_fs' from 'update_fs_loop'
fuse-3.18.1/example/notify_inval_entry.c:279:9: return_function: returning to 'update_fs_loop' from 'update_fs'
fuse-3.18.1/example/notify_inval_entry.c:297:23: throw: if 'fuse_lowlevel_notify_increment_epoch' throws an exception...
fuse-3.18.1/example/notify_inval_entry.c:297:23: danger: 'old_name' leaks here; was allocated at [(4)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/3)
#  295|                   assert(ret == 0 || ret == -ENOENT);
#  296|               } else if (options.inc_epoch) { // increment epoch
#  297|->                 ret = fuse_lowlevel_notify_increment_epoch(se);
#  298|   
#  299|                   if (ret == -ENOSYS) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def17]
fuse-3.18.1/example/notify_inval_entry.c:305:17: warning[-Wanalyzer-malloc-leak]: leak of 'old_name'
fuse-3.18.1/example/notify_inval_entry.c:272:14: enter_function: entry to 'update_fs_loop'
fuse-3.18.1/example/notify_inval_entry.c:277:11: branch_true: following 'true' branch...
fuse-3.18.1/example/notify_inval_entry.c:278:20: branch_true: ...to here
fuse-3.18.1/example/notify_inval_entry.c:278:20: acquire_memory: allocated here
fuse-3.18.1/example/notify_inval_entry.c:279:9: call_function: calling 'update_fs' from 'update_fs_loop'
fuse-3.18.1/example/notify_inval_entry.c:279:9: return_function: returning to 'update_fs_loop' from 'update_fs'
fuse-3.18.1/example/notify_inval_entry.c:305:17: throw: if 'fuse_lowlevel_notify_inval_entry' throws an exception...
fuse-3.18.1/example/notify_inval_entry.c:305:17: danger: 'old_name' leaks here; was allocated at [(4)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/3)
#  303|                   assert(ret == 0);
#  304|               } else { // invalidate entry
#  305|->                 assert(fuse_lowlevel_notify_inval_entry
#  306|                         (se, FUSE_ROOT_ID, old_name, strlen(old_name)) == 0);
#  307|               }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def18]
fuse-3.18.1/example/notify_inval_entry.c:305:17: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'old_name' where non-null expected
fuse-3.18.1/example/notify_inval_entry.c:272:14: enter_function: entry to 'update_fs_loop'
fuse-3.18.1/example/notify_inval_entry.c:277:11: branch_true: following 'true' branch...
fuse-3.18.1/example/notify_inval_entry.c:278:20: branch_true: ...to here
fuse-3.18.1/example/notify_inval_entry.c:278:20: acquire_memory: this call could return NULL
fuse-3.18.1/example/notify_inval_entry.c:279:9: call_function: calling 'update_fs' from 'update_fs_loop'
fuse-3.18.1/example/notify_inval_entry.c:279:9: return_function: returning to 'update_fs_loop' from 'update_fs'
fuse-3.18.1/example/notify_inval_entry.c:305:17: danger: argument 1 ('old_name') from [(4)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/3) could be NULL where non-null expected
#  303|                   assert(ret == 0);
#  304|               } else { // invalidate entry
#  305|->                 assert(fuse_lowlevel_notify_inval_entry
#  306|                         (se, FUSE_ROOT_ID, old_name, strlen(old_name)) == 0);
#  307|               }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def19]
fuse-3.18.1/example/notify_inval_entry.c:316:9: warning[-Wanalyzer-malloc-leak]: leak of 'old_name'
fuse-3.18.1/example/notify_inval_entry.c:272:14: enter_function: entry to 'update_fs_loop'
fuse-3.18.1/example/notify_inval_entry.c:277:11: branch_true: following 'true' branch...
fuse-3.18.1/example/notify_inval_entry.c:278:20: branch_true: ...to here
fuse-3.18.1/example/notify_inval_entry.c:278:20: acquire_memory: allocated here
fuse-3.18.1/example/notify_inval_entry.c:279:9: call_function: calling 'update_fs' from 'update_fs_loop'
fuse-3.18.1/example/notify_inval_entry.c:279:9: return_function: returning to 'update_fs_loop' from 'update_fs'
fuse-3.18.1/example/notify_inval_entry.c:313:8: branch_true: following 'true' branch (when 'ret == -38')...
fuse-3.18.1/example/notify_inval_entry.c:314:9: branch_true: ...to here
fuse-3.18.1/example/notify_inval_entry.c:316:9: throw: if 'fuse_session_exit' throws an exception...
fuse-3.18.1/example/notify_inval_entry.c:316:9: danger: 'old_name' leaks here; was allocated at [(4)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/3)
#  314|           printf("Exiting...\n");
#  315|   
#  316|->         fuse_session_exit(se);
#  317|           // Make sure to exit now, rather than on next request from userspace
#  318|           pthread_kill(main_thread, SIGPIPE);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def20]
fuse-3.18.1/example/notify_inval_inode.c:200:5: warning[-Wanalyzer-malloc-leak]: leak of 'b.p'
fuse-3.18.1/example/notify_inval_inode.c:215:13: enter_function: entry to 'tfs_readdir'
fuse-3.18.1/example/notify_inval_inode.c:225:9: call_function: calling 'dirbuf_add' from 'tfs_readdir'
#  198|       memset(&stbuf, 0, sizeof(stbuf));
#  199|       stbuf.st_ino = ino;
#  200|->     fuse_add_direntry(req, b->p + oldsize, b->size - oldsize, name, &stbuf,
#  201|                         b->size);
#  202|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def21]
fuse-3.18.1/example/notify_store_retrieve.c:215:5: warning[-Wanalyzer-malloc-leak]: leak of 'b.p'
fuse-3.18.1/example/notify_store_retrieve.c:230:13: enter_function: entry to 'tfs_readdir'
fuse-3.18.1/example/notify_store_retrieve.c:240:9: call_function: calling 'dirbuf_add' from 'tfs_readdir'
#  213|       memset(&stbuf, 0, sizeof(stbuf));
#  214|       stbuf.st_ino = ino;
#  215|->     fuse_add_direntry(req, b->p + oldsize, b->size - oldsize, name, &stbuf,
#  216|                         b->size);
#  217|   }

Error: CPPCHECK_WARNING (CWE-457): [#def22]
fuse-3.18.1/example/notify_store_retrieve.c:297: error[uninitvar]: Uninitialized variable: buf
#  295|       ret = fuse_buf_copy(&bufv, data, 0);
#  296|       assert(ret > 0);
#  297|->     assert(strncmp(buf, expected, ret) == 0);
#  298|       free(expected);
#  299|       retrieve_status = 2;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def23]
fuse-3.18.1/example/notify_store_retrieve.c:372:19: warning[-Wanalyzer-malloc-leak]: leak of 'strdup(&file_contents)'
fuse-3.18.1/example/notify_store_retrieve.c:337:14: enter_function: entry to 'update_fs_loop'
fuse-3.18.1/example/notify_store_retrieve.c:342:11: branch_false: following 'false' branch...
fuse-3.18.1/example/notify_store_retrieve.c:343:9: branch_false: ...to here
fuse-3.18.1/example/notify_store_retrieve.c:343:9: call_function: calling 'update_fs' from 'update_fs_loop'
fuse-3.18.1/example/notify_store_retrieve.c:343:9: return_function: returning to 'update_fs_loop' from 'update_fs'
fuse-3.18.1/example/notify_store_retrieve.c:345:12: branch_true: following 'true' branch...
fuse-3.18.1/example/notify_store_retrieve.c:373:60: acquire_memory: allocated here
fuse-3.18.1/example/notify_store_retrieve.c:372:19: danger: 'strdup(&file_contents)' leaks here; was allocated at [(13)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/12)
#  370|               /* To make sure that everything worked correctly, ask the
#  371|                  kernel to send us back the stored data */
#  372|->             ret = fuse_lowlevel_notify_retrieve(se, FILE_INO, MAX_STR_LEN,
#  373|                                                   0, (void*) strdup(file_contents));
#  374|               assert((ret == 0 || is_umount) || ret == -ENOENT || ret == -EBADF ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def24]
fuse-3.18.1/example/passthrough.c:134:22: warning[-Wanalyzer-malloc-leak]: leak of 'opendir(path)'
fuse-3.18.1/example/passthrough.c:130:14: acquire_memory: allocated here
fuse-3.18.1/example/passthrough.c:131:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough.c:131:12: branch_false: ...to here
fuse-3.18.1/example/passthrough.c:134:22: throw: if 'readdir' throws an exception...
fuse-3.18.1/example/passthrough.c:134:22: danger: 'opendir(path)' leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  132|   		return -errno;
#  133|   
#  134|-> 	while ((de = readdir(dp)) != NULL) {
#  135|   		struct stat st;
#  136|   		if (fill_dir_plus) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def25]
fuse-3.18.1/example/passthrough.c:338:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'fd'
fuse-3.18.1/example/passthrough.c:330:11: branch_true: following 'true' branch (when 'fi' is NULL)...
fuse-3.18.1/example/passthrough.c:331:22: branch_true: ...to here
fuse-3.18.1/example/passthrough.c:331:22: acquire_resource: opened here
fuse-3.18.1/example/passthrough.c:335:12: branch_false: following 'false' branch (when 'fd != -1')...
fuse-3.18.1/example/passthrough.c:338:15: branch_false: ...to here
fuse-3.18.1/example/passthrough.c:338:15: throw: if 'pread' throws an exception...
fuse-3.18.1/example/passthrough.c:338:15: danger: 'fd' leaks here; was opened at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#  336|   		return -errno;
#  337|   
#  338|-> 	res = pread(fd, buf, size, offset);
#  339|   	if (res == -1)
#  340|   		res = -errno;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def26]
fuse-3.18.1/example/passthrough.c:362:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'fd'
fuse-3.18.1/example/passthrough.c:354:11: branch_true: following 'true' branch (when 'fi' is NULL)...
fuse-3.18.1/example/passthrough.c:355:22: branch_true: ...to here
fuse-3.18.1/example/passthrough.c:355:22: acquire_resource: opened here
fuse-3.18.1/example/passthrough.c:359:12: branch_false: following 'false' branch (when 'fd != -1')...
fuse-3.18.1/example/passthrough.c:362:15: branch_false: ...to here
fuse-3.18.1/example/passthrough.c:362:15: throw: if 'pwrite' throws an exception...
fuse-3.18.1/example/passthrough.c:362:15: danger: 'fd' leaks here; was opened at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#  360|   		return -errno;
#  361|   
#  362|-> 	res = pwrite(fd, buf, size, offset);
#  363|   	if (res == -1)
#  364|   		res = -errno;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def27]
fuse-3.18.1/example/passthrough.c:480:26: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'fd_in'
fuse-3.18.1/example/passthrough.c:471:11: branch_true: following 'true' branch (when 'fi_in' is NULL)...
fuse-3.18.1/example/passthrough.c:472:25: branch_true: ...to here
fuse-3.18.1/example/passthrough.c:472:25: acquire_resource: opened here
fuse-3.18.1/example/passthrough.c:476:12: branch_false: following 'false' branch (when 'fd_in != -1')...
fuse-3.18.1/example/passthrough.c:479:11: branch_false: ...to here
fuse-3.18.1/example/passthrough.c:479:11: branch_true: following 'true' branch (when 'fi_out' is NULL)...
fuse-3.18.1/example/passthrough.c:480:26: branch_true: ...to here
fuse-3.18.1/example/passthrough.c:480:26: throw: if 'open' throws an exception...
fuse-3.18.1/example/passthrough.c:480:26: danger: 'fd_in' leaks here; was opened at [(3)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/2)
#  478|   
#  479|   	if(fi_out == NULL)
#  480|-> 		fd_out = open(path_out, O_WRONLY);
#  481|   	else
#  482|   		fd_out = fi_out->fh;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def28]
fuse-3.18.1/example/passthrough.c:485:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'fd_in'
fuse-3.18.1/example/passthrough.c:471:11: branch_true: following 'true' branch (when 'fi_in' is NULL)...
fuse-3.18.1/example/passthrough.c:472:25: branch_true: ...to here
fuse-3.18.1/example/passthrough.c:472:25: acquire_resource: opened here
fuse-3.18.1/example/passthrough.c:476:12: branch_false: following 'false' branch (when 'fd_in != -1')...
fuse-3.18.1/example/passthrough.c:479:11: branch_false: ...to here
fuse-3.18.1/example/passthrough.c:484:12: branch_true: following 'true' branch (when 'fd_out == -1')...
fuse-3.18.1/example/passthrough.c:485:17: branch_true: ...to here
fuse-3.18.1/example/passthrough.c:485:17: throw: if 'close' throws an exception...
fuse-3.18.1/example/passthrough.c:485:17: danger: 'fd_in' leaks here; was opened at [(3)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/2)
#  483|   
#  484|   	if (fd_out == -1) {
#  485|-> 		close(fd_in);
#  486|   		return -errno;
#  487|   	}

Error: GCC_ANALYZER_WARNING (CWE-775): [#def29]
fuse-3.18.1/example/passthrough.c:489:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'fd_in'
fuse-3.18.1/example/passthrough.c:471:11: branch_true: following 'true' branch (when 'fi_in' is NULL)...
fuse-3.18.1/example/passthrough.c:472:25: branch_true: ...to here
fuse-3.18.1/example/passthrough.c:472:25: acquire_resource: opened here
fuse-3.18.1/example/passthrough.c:476:12: branch_false: following 'false' branch (when 'fd_in != -1')...
fuse-3.18.1/example/passthrough.c:479:11: branch_false: ...to here
fuse-3.18.1/example/passthrough.c:479:11: branch_true: following 'true' branch (when 'fi_out' is NULL)...
fuse-3.18.1/example/passthrough.c:480:26: branch_true: ...to here
fuse-3.18.1/example/passthrough.c:484:12: branch_false: following 'false' branch (when 'fd_out != -1')...
fuse-3.18.1/example/passthrough.c:489:15: branch_false: ...to here
fuse-3.18.1/example/passthrough.c:489:15: throw: if 'copy_file_range' throws an exception...
fuse-3.18.1/example/passthrough.c:489:15: danger: 'fd_in' leaks here; was opened at [(3)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/2)
#  487|   	}
#  488|   
#  489|-> 	res = copy_file_range(fd_in, &offset_in, fd_out, &offset_out, len,
#  490|   			      flags);
#  491|   	if (res == -1)

Error: GCC_ANALYZER_WARNING (CWE-775): [#def30]
fuse-3.18.1/example/passthrough.c:489:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'fd_out'
fuse-3.18.1/example/passthrough.c:471:11: branch_true: following 'true' branch (when 'fi_in' is NULL)...
fuse-3.18.1/example/passthrough.c:472:25: branch_true: ...to here
fuse-3.18.1/example/passthrough.c:476:12: branch_false: following 'false' branch (when 'fd_in != -1')...
fuse-3.18.1/example/passthrough.c:479:11: branch_false: ...to here
fuse-3.18.1/example/passthrough.c:479:11: branch_true: following 'true' branch (when 'fi_out' is NULL)...
fuse-3.18.1/example/passthrough.c:480:26: branch_true: ...to here
fuse-3.18.1/example/passthrough.c:480:26: acquire_resource: opened here
fuse-3.18.1/example/passthrough.c:484:12: branch_false: following 'false' branch (when 'fd_out != -1')...
fuse-3.18.1/example/passthrough.c:489:15: branch_false: ...to here
fuse-3.18.1/example/passthrough.c:489:15: throw: if 'copy_file_range' throws an exception...
fuse-3.18.1/example/passthrough.c:489:15: danger: 'fd_out' leaks here; was opened at [(7)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/6)
#  487|   	}
#  488|   
#  489|-> 	res = copy_file_range(fd_in, &offset_in, fd_out, &offset_out, len,
#  490|   			      flags);
#  491|   	if (res == -1)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def31]
fuse-3.18.1/example/passthrough_fh.c:133:17: warning[-Wanalyzer-malloc-leak]: leak of 'd'
fuse-3.18.1/example/passthrough_fh.c:129:30: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_fh.c:130:12: branch_false: following 'false' branch (when 'd' is non-NULL)...
fuse-3.18.1/example/passthrough_fh.c:133:17: branch_false: ...to here
fuse-3.18.1/example/passthrough_fh.c:133:17: throw: if 'opendir' throws an exception...
fuse-3.18.1/example/passthrough_fh.c:133:17: danger: 'd' leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  131|   		return -ENOMEM;
#  132|   
#  133|-> 	d->dp = opendir(path);
#  134|   	if (d->dp == NULL) {
#  135|   		res = -errno;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def32]
fuse-3.18.1/example/passthrough_fh.c:484:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'dup((int)*fi.fh)'
fuse-3.18.1/example/passthrough_fh.c:484:15: acquire_resource: opened here
fuse-3.18.1/example/passthrough_fh.c:484:15: danger: 'dup((int)*fi.fh)' leaks here; was opened at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  482|   	   close the file.  This is important if used on a network
#  483|   	   filesystem like NFS which flush the data/metadata on close() */
#  484|-> 	res = close(dup(fi->fh));
#  485|   	if (res == -1)
#  486|   		return -errno;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def33]
fuse-3.18.1/example/passthrough_helpers.h:43:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'fd'
fuse-3.18.1/example/passthrough.c:401:12: enter_function: entry to 'xmp_fallocate'
fuse-3.18.1/example/passthrough.c:409:11: branch_true: following 'true' branch (when 'fi' is NULL)...
fuse-3.18.1/example/passthrough.c:410:22: branch_true: ...to here
fuse-3.18.1/example/passthrough.c:410:22: acquire_resource: opened here
fuse-3.18.1/example/passthrough.c:414:12: branch_false: following 'false' branch (when 'fd != -1')...
fuse-3.18.1/example/passthrough.c:417:15: branch_false: ...to here
fuse-3.18.1/example/passthrough.c:417:15: call_function: calling 'do_fallocate' from 'xmp_fallocate'
#   41|   {
#   42|   #ifdef HAVE_FALLOCATE
#   43|-> 	if (fallocate(fd, mode, offset, length) == -1)
#   44|   		return -errno;
#   45|   	return 0;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def34]
fuse-3.18.1/example/passthrough_ll.c:143:35: warning[-Wanalyzer-malloc-leak]: leak of 'd'
fuse-3.18.1/example/passthrough_ll.c:628:13: enter_function: entry to 'lo_opendir'
fuse-3.18.1/example/passthrough_ll.c:635:13: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_ll.c:636:12: branch_false: following 'false' branch (when 'd' is non-NULL)...
fuse-3.18.1/example/passthrough_ll.c:639:14: call_function: inlined call to 'lo_fd' from 'lo_opendir'
#  141|   static struct lo_data *lo_data(fuse_req_t req)
#  142|   {
#  143|-> 	return (struct lo_data *) fuse_req_userdata(req);
#  144|   }
#  145|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def35]
fuse-3.18.1/example/passthrough_ll.c:315:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'dup(fd)'
fuse-3.18.1/example/passthrough_ll.c:335:12: enter_function: entry to 'fill_entry_param_new_inode'
fuse-3.18.1/example/passthrough_ll.c:345:12: branch_false: following 'false' branch (when 'res != -1')...
fuse-3.18.1/example/passthrough_ll.c:348:30: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:348:30: acquire_resource: opened here
fuse-3.18.1/example/passthrough_ll.c:348:30: call_function: calling 'create_new_inode' from 'fill_entry_param_new_inode'
#  313|   	struct lo_inode *prev, *next;
#  314|   
#  315|-> 	inode = calloc(1, sizeof(struct lo_inode));
#  316|   	if (!inode)
#  317|   		return NULL;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def36]
fuse-3.18.1/example/passthrough_ll.c:639:14: warning[-Wanalyzer-malloc-leak]: leak of 'd'
fuse-3.18.1/example/passthrough_ll.c:628:13: enter_function: entry to 'lo_opendir'
fuse-3.18.1/example/passthrough_ll.c:635:13: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_ll.c:636:12: branch_false: following 'false' branch (when 'd' is non-NULL)...
fuse-3.18.1/example/passthrough_ll.c:639:14: call_function: inlined call to 'lo_fd' from 'lo_opendir'
fuse-3.18.1/example/passthrough_ll.c:639:14: throw: if 'openat' throws an exception...
fuse-3.18.1/example/passthrough_ll.c:639:14: danger: 'd' leaks here; was allocated at [(2)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/1)
#  637|   		goto out_err;
#  638|   
#  639|-> 	fd = openat(lo_fd(req, ino), ".", O_RDONLY);
#  640|   	if (fd == -1)
#  641|   		goto out_errno;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def37]
fuse-3.18.1/example/passthrough_ll.c:643:17: warning[-Wanalyzer-malloc-leak]: leak of 'd'
fuse-3.18.1/example/passthrough_ll.c:628:13: enter_function: entry to 'lo_opendir'
fuse-3.18.1/example/passthrough_ll.c:635:13: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_ll.c:636:12: branch_false: following 'false' branch (when 'd' is non-NULL)...
fuse-3.18.1/example/passthrough_ll.c:639:14: call_function: inlined call to 'lo_fd' from 'lo_opendir'
fuse-3.18.1/example/passthrough_ll.c:640:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:643:17: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:643:17: throw: if 'fdopendir' throws an exception...
fuse-3.18.1/example/passthrough_ll.c:643:17: danger: 'd' leaks here; was allocated at [(2)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/1)
#  641|   		goto out_errno;
#  642|   
#  643|-> 	d->dp = fdopendir(fd);
#  644|   	if (d->dp == NULL)
#  645|   		goto out_errno;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def38]
fuse-3.18.1/example/passthrough_ll.c:663:25: warning[-Wanalyzer-malloc-leak]: leak of 'd'
fuse-3.18.1/example/passthrough_ll.c:628:13: enter_function: entry to 'lo_opendir'
fuse-3.18.1/example/passthrough_ll.c:635:13: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_ll.c:636:12: branch_false: following 'false' branch (when 'd' is non-NULL)...
fuse-3.18.1/example/passthrough_ll.c:639:14: call_function: inlined call to 'lo_fd' from 'lo_opendir'
fuse-3.18.1/example/passthrough_ll.c:640:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:643:17: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:644:12: branch_true: following 'true' branch...
fuse-3.18.1/example/passthrough_ll.c:645:17: branch_true: ...to here
fuse-3.18.1/example/passthrough_ll.c:662:20: branch_true: following 'true' branch...
fuse-3.18.1/example/passthrough_ll.c:663:25: branch_true: ...to here
fuse-3.18.1/example/passthrough_ll.c:663:25: throw: if 'close' throws an exception...
fuse-3.18.1/example/passthrough_ll.c:663:25: danger: 'd' leaks here; was allocated at [(2)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/1)
#  661|   	if (d) {
#  662|   		if (fd != -1)
#  663|-> 			close(fd);
#  664|   		free(d);
#  665|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def39]
fuse-3.18.1/example/passthrough_ll.c:705:36: warning[-Wanalyzer-malloc-leak]: leak of 'p'
fuse-3.18.1/example/passthrough_ll.c:686:15: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_ll.c:687:12: branch_false: following 'false' branch (when 'buf' is non-NULL)...
fuse-3.18.1/example/passthrough_ll.c:693:23: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:693:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:693:12: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:703:20: branch_true: following 'true' branch...
fuse-3.18.1/example/passthrough_ll.c:704:25: branch_true: ...to here
fuse-3.18.1/example/passthrough_ll.c:705:36: throw: if 'readdir' throws an exception...
fuse-3.18.1/example/passthrough_ll.c:705:36: danger: 'p' leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  703|   		if (!d->entry) {
#  704|   			errno = 0;
#  705|-> 			d->entry = readdir(d->dp);
#  706|   			if (!d->entry) {
#  707|   				if (errno) {  // Error

Error: GCC_ANALYZER_WARNING (CWE-401): [#def40]
fuse-3.18.1/example/passthrough_ll.c:732:35: warning[-Wanalyzer-malloc-leak]: leak of 'p'
fuse-3.18.1/example/passthrough_ll.c:686:15: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_ll.c:687:12: branch_false: following 'false' branch (when 'buf' is non-NULL)...
fuse-3.18.1/example/passthrough_ll.c:693:23: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:693:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:693:12: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:703:20: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:715:27: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:718:20: branch_true: following 'true' branch (when 'plus != 0')...
fuse-3.18.1/example/passthrough_ll.c:720:29: branch_true: ...to here
fuse-3.18.1/example/passthrough_ll.c:720:28: branch_true: following 'true' branch...
fuse-3.18.1/example/passthrough_ll.c:722:56: branch_true: ...to here
fuse-3.18.1/example/passthrough_ll.c:732:35: throw: if 'fuse_add_direntry_plus' throws an exception...
fuse-3.18.1/example/passthrough_ll.c:732:35: danger: 'p' leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  730|   			}
#  731|   
#  732|-> 			entsize = fuse_add_direntry_plus(req, p, rem, name,
#  733|   							 &e, nextoff);
#  734|   		} else {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def41]
fuse-3.18.1/example/passthrough_ll.c:739:35: warning[-Wanalyzer-malloc-leak]: leak of 'p'
fuse-3.18.1/example/passthrough_ll.c:686:15: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_ll.c:687:12: branch_false: following 'false' branch (when 'buf' is non-NULL)...
fuse-3.18.1/example/passthrough_ll.c:693:23: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:693:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:693:12: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:703:20: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:715:27: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:718:20: branch_false: following 'false' branch (when 'plus == 0')...
fuse-3.18.1/example/passthrough_ll.c:735:37: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:739:35: throw: if 'fuse_add_direntry' throws an exception...
fuse-3.18.1/example/passthrough_ll.c:739:35: danger: 'p' leaks here; was allocated at [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  737|   				.st_mode = d->entry->d_type << 12,
#  738|   			};
#  739|-> 			entsize = fuse_add_direntry(req, p, rem, name,
#  740|   						    &st, nextoff);
#  741|   		}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def42]
fuse-3.18.1/example/passthrough_ll.c:762:13: warning[-Wanalyzer-malloc-leak]: leak of 'p'
fuse-3.18.1/example/passthrough_ll.c:686:15: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_ll.c:687:12: branch_false: following 'false' branch (when 'buf' is non-NULL)...
fuse-3.18.1/example/passthrough_ll.c:693:23: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:703:20: branch_true: following 'true' branch...
fuse-3.18.1/example/passthrough_ll.c:704:25: branch_true: ...to here
fuse-3.18.1/example/passthrough_ll.c:706:28: branch_true: following 'true' branch...
fuse-3.18.1/example/passthrough_ll.c:707:37: branch_true: ...to here
fuse-3.18.1/example/passthrough_ll.c:761:8: branch_true: following 'true' branch...
fuse-3.18.1/example/passthrough_ll.c:762:13: branch_true: ...to here
fuse-3.18.1/example/passthrough_ll.c:762:13: throw: if 'fuse_reply_err' throws an exception...
fuse-3.18.1/example/passthrough_ll.c:762:13: danger: 'p' leaks here; was allocated at [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  760|       // return what we've collected until that point.
#  761|       if (err && rem == size)
#  762|-> 	    fuse_reply_err(req, err);
#  763|       else
#  764|   	    fuse_reply_buf(req, buf, size - rem);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def43]
fuse-3.18.1/example/passthrough_ll.c:764:13: warning[-Wanalyzer-malloc-leak]: leak of 'p'
fuse-3.18.1/example/passthrough_ll.c:686:15: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_ll.c:687:12: branch_false: following 'false' branch (when 'buf' is non-NULL)...
fuse-3.18.1/example/passthrough_ll.c:693:23: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:703:20: branch_true: following 'true' branch...
fuse-3.18.1/example/passthrough_ll.c:704:25: branch_true: ...to here
fuse-3.18.1/example/passthrough_ll.c:706:28: branch_true: following 'true' branch...
fuse-3.18.1/example/passthrough_ll.c:707:37: branch_true: ...to here
fuse-3.18.1/example/passthrough_ll.c:761:8: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:764:13: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:764:13: throw: if 'fuse_reply_buf' throws an exception...
fuse-3.18.1/example/passthrough_ll.c:764:13: danger: 'p' leaks here; was allocated at [(1)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/0)
#  762|   	    fuse_reply_err(req, err);
#  763|       else
#  764|-> 	    fuse_reply_buf(req, buf, size - rem);
#  765|       free(buf);
#  766|   }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def44]
fuse-3.18.1/example/passthrough_ll.c:935:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'dup((int)*fi.fh)'
fuse-3.18.1/example/passthrough_ll.c:935:15: acquire_resource: opened here
fuse-3.18.1/example/passthrough_ll.c:935:15: danger: 'dup((int)*fi.fh)' leaks here; was opened at [(1)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/0)
#  933|   	int res;
#  934|   	(void) ino;
#  935|-> 	res = close(dup(fi->fh));
#  936|   	fuse_reply_err(req, res == -1 ? errno : 0);
#  937|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def45]
fuse-3.18.1/example/passthrough_ll.c:1366:17: warning[-Wanalyzer-malloc-leak]: leak of 'lo.source'
fuse-3.18.1/example/passthrough_ll.c:1301:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1303:13: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1303:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1310:20: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1310:19: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1317:12: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1317:11: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1324:13: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1324:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1327:20: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1329:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1345:29: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1345:29: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_ll.c:1346:19: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1351:14: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1351:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1365:20: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1365:19: branch_true: following 'true' branch...
fuse-3.18.1/example/passthrough_ll.c:1366:17: branch_true: ...to here
fuse-3.18.1/example/passthrough_ll.c:1366:17: throw: if 'fuse_log' throws an exception...
fuse-3.18.1/example/passthrough_ll.c:1366:17: danger: 'lo.source' leaks here; was allocated at [(13)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/12)
# 1364|   		}
# 1365|   	} else if (lo.timeout < 0) {
# 1366|-> 		fuse_log(FUSE_LOG_ERR, "timeout is negative (%lf)\n",
# 1367|   			 lo.timeout);
# 1368|   		exit(1);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def46]
fuse-3.18.1/example/passthrough_ll.c:1371:22: warning[-Wanalyzer-malloc-leak]: leak of 'lo.source'
fuse-3.18.1/example/passthrough_ll.c:1301:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1303:13: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1303:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1310:20: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1310:19: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1317:12: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1317:11: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1324:13: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1324:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1327:20: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1329:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1345:29: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1345:29: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_ll.c:1346:19: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1351:14: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1371:22: throw: if 'open' throws an exception...
fuse-3.18.1/example/passthrough_ll.c:1371:22: danger: 'lo.source' leaks here; was allocated at [(13)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/12)
# 1369|   	}
# 1370|   
# 1371|-> 	lo.root.fd = open(lo.source, O_PATH);
# 1372|   	if (lo.root.fd == -1) {
# 1373|   		fuse_log(FUSE_LOG_ERR, "open(\"%s\", O_PATH): %m\n",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def47]
fuse-3.18.1/example/passthrough_ll.c:1373:17: warning[-Wanalyzer-malloc-leak]: leak of 'lo.source'
fuse-3.18.1/example/passthrough_ll.c:1301:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1303:13: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1303:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1310:20: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1310:19: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1317:12: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1317:11: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1324:13: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1324:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1327:20: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1329:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1345:29: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1345:29: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_ll.c:1346:19: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1351:14: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1372:12: branch_true: following 'true' branch...
fuse-3.18.1/example/passthrough_ll.c:1373:17: branch_true: ...to here
fuse-3.18.1/example/passthrough_ll.c:1373:17: throw: if 'fuse_log' throws an exception...
fuse-3.18.1/example/passthrough_ll.c:1373:17: danger: 'lo.source' leaks here; was allocated at [(13)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/12)
# 1371|   	lo.root.fd = open(lo.source, O_PATH);
# 1372|   	if (lo.root.fd == -1) {
# 1373|-> 		fuse_log(FUSE_LOG_ERR, "open(\"%s\", O_PATH): %m\n",
# 1374|   			 lo.source);
# 1375|   		exit(1);

Error: COMPILER_WARNING: [#def48]
fuse-3.18.1/example/poll_client.c: scope_hint: In function 'main'
fuse-3.18.1/example/poll_client.c:38:49: warning[-Wunterminated-string-initialization]: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (17 chars into 16 available)
#   38 |         static const char hex_map[FSEL_FILES] = "0123456789ABCDEF";
#      |                                                 ^~~~~~~~~~~~~~~~~~
#   36|   int main(void)
#   37|   {
#   38|-> 	static const char hex_map[FSEL_FILES] = "0123456789ABCDEF";
#   39|   	int fds[FSEL_FILES];
#   40|   	int i, nfds, tries;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def49]
fuse-3.18.1/example/poll_client.c:43:33: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open(&name, 0)'
fuse-3.18.1/example/poll_client.c:42:21: branch_true: following 'true' branch (when 'i != 16')...
fuse-3.18.1/example/poll_client.c:43:33: branch_true: ...to here
fuse-3.18.1/example/poll_client.c:44:26: acquire_resource: opened here
fuse-3.18.1/example/poll_client.c:45:20: branch_false: following 'false' branch...
fuse-3.18.1/example/poll_client.c:84:1: branch_false: ...to here
fuse-3.18.1/example/poll_client.c:42:21: branch_true: following 'true' branch (when 'i != 16')...
fuse-3.18.1/example/poll_client.c:43:33: branch_true: ...to here
fuse-3.18.1/example/poll_client.c:44:26: throw: if 'open' throws an exception...
fuse-3.18.1/example/poll_client.c:43:33: danger: 'open(&name, 0)' leaks here; was opened at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   41|   
#   42|   	for (i = 0; i < FSEL_FILES; i++) {
#   43|-> 		char name[] = { hex_map[i], '\0' };
#   44|   		fds[i] = open(name, O_RDONLY);
#   45|   		if (fds[i] < 0) {

Error: GCC_ANALYZER_WARNING (CWE-688): [#def50]
fuse-3.18.1/example/printcap.c:104:12: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'mountpoint' where non-null expected
fuse-3.18.1/example/printcap.c:103:22: acquire_memory: this call could return NULL
fuse-3.18.1/example/printcap.c:104:12: danger: argument 1 ('mountpoint') from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#  102|   
#  103|   	mountpoint = strdup("/tmp/fuse_printcap_XXXXXX");
#  104|-> 	if(mkdtemp(mountpoint) == NULL) {
#  105|   		perror("mkdtemp");
#  106|   		return 1;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def51]
fuse-3.18.1/include/fuse_lowlevel.h:2143:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'lo.root.fd'
fuse-3.18.1/example/passthrough_ll.c:1283:5: enter_function: entry to 'main'
fuse-3.18.1/example/passthrough_ll.c:1301:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1303:13: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1303:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1310:20: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1310:19: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1317:12: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1317:11: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1324:13: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1324:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1327:20: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1329:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1345:29: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1346:19: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1351:14: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1371:22: acquire_resource: opened here
fuse-3.18.1/example/passthrough_ll.c:1372:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1378:14: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1378:14: call_function: calling 'fuse_session_new_fn' from 'main'
# 2141|   	};
# 2142|   
# 2143|-> 	return fuse_session_new_versioned(args, op, op_size, &version,
# 2144|   					  userdata);
# 2145|   }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def52]
fuse-3.18.1/include/fuse_lowlevel.h:2143:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'sfd'
fuse-3.18.1/example/hello_ll_uds.c:312:5: enter_function: entry to 'main'
fuse-3.18.1/example/hello_ll_uds.c:326:12: branch_false: following 'false' branch...
fuse-3.18.1/example/hello_ll_uds.c:328:13: branch_false: ...to here
fuse-3.18.1/example/hello_ll_uds.c:328:12: branch_false: following 'false' branch...
fuse-3.18.1/example/hello_ll_uds.c:334:20: branch_false: ...to here
fuse-3.18.1/example/hello_ll_uds.c:334:19: branch_false: following 'false' branch...
fuse-3.18.1/example/hello_ll_uds.c:341:14: branch_false: ...to here
fuse-3.18.1/example/hello_ll_uds.c:343:12: branch_false: following 'false' branch...
fuse-3.18.1/example/hello_ll_uds.c:346:13: branch_false: ...to here
fuse-3.18.1/example/hello_ll_uds.c:346:12: branch_false: following 'false' branch...
fuse-3.18.1/example/hello_ll_uds.c:349:15: branch_false: ...to here
fuse-3.18.1/example/hello_ll_uds.c:349:15: call_function: calling 'create_socket' from 'main'
# 2141|   	};
# 2142|   
# 2143|-> 	return fuse_session_new_versioned(args, op, op_size, &version,
# 2144|   					  userdata);
# 2145|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def53]
fuse-3.18.1/include/fuse_lowlevel.h:2143:16: warning[-Wanalyzer-malloc-leak]: leak of 'lo.source'
fuse-3.18.1/example/passthrough_ll.c:1283:5: enter_function: entry to 'main'
fuse-3.18.1/example/passthrough_ll.c:1301:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1303:13: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1303:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1310:20: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1310:19: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1317:12: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1317:11: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1324:13: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1324:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1327:20: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1329:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1345:29: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1345:29: acquire_memory: allocated here
fuse-3.18.1/example/passthrough_ll.c:1346:19: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1351:14: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1372:12: branch_false: following 'false' branch...
fuse-3.18.1/example/passthrough_ll.c:1378:14: branch_false: ...to here
fuse-3.18.1/example/passthrough_ll.c:1378:14: call_function: calling 'fuse_session_new_fn' from 'main'
# 2141|   	};
# 2142|   
# 2143|-> 	return fuse_session_new_versioned(args, op, op_size, &version,
# 2144|   					  userdata);
# 2145|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def54]
fuse-3.18.1/lib/cuse_lowlevel.c:121:58: warning[-Wanalyzer-malloc-leak]: leak of 'cuse_prep_data(ci,  clop)'
fuse-3.18.1/lib/cuse_lowlevel.c:273:22: enter_function: entry to 'cuse_lowlevel_setup'
fuse-3.18.1/lib/cuse_lowlevel.c:289:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/cuse_lowlevel.c:291:27: branch_false: ...to here
fuse-3.18.1/lib/cuse_lowlevel.c:295:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/cuse_lowlevel.c:295:12: branch_false: ...to here
fuse-3.18.1/lib/cuse_lowlevel.c:306:18: branch_false: following 'false' branch...
fuse-3.18.1/lib/cuse_lowlevel.c:308:14: branch_false: ...to here
fuse-3.18.1/lib/cuse_lowlevel.c:308:14: call_function: calling 'cuse_lowlevel_new' from 'cuse_lowlevel_setup'
#  119|   	size_t dev_info_len;
#  120|   
#  121|-> 	dev_info_len = cuse_pack_info(ci->dev_info_argc, ci->dev_info_argv,
#  122|   				      NULL);
#  123|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def55]
fuse-3.18.1/lib/cuse_lowlevel.c:305:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open("/dev/null", 2)'
fuse-3.18.1/lib/cuse_lowlevel.c:289:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/cuse_lowlevel.c:291:27: branch_false: ...to here
fuse-3.18.1/lib/cuse_lowlevel.c:295:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/cuse_lowlevel.c:295:12: branch_false: ...to here
fuse-3.18.1/lib/cuse_lowlevel.c:303:22: acquire_resource: opened here
fuse-3.18.1/lib/cuse_lowlevel.c:305:25: throw: if 'close' throws an exception...
fuse-3.18.1/lib/cuse_lowlevel.c:305:25: danger: 'open("/dev/null", 2)' leaks here; was opened at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#  303|   		fd = open("/dev/null", O_RDWR);
#  304|   		if (fd > 2)
#  305|-> 			close(fd);
#  306|   	} while (fd >= 0 && fd <= 2);
#  307|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def56]
fuse-3.18.1/lib/cuse_lowlevel.c:306:18: warning[-Wanalyzer-fd-leak]: leak of file descriptor
fuse-3.18.1/lib/cuse_lowlevel.c:289:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/cuse_lowlevel.c:291:27: branch_false: ...to here
fuse-3.18.1/lib/cuse_lowlevel.c:295:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/cuse_lowlevel.c:295:12: branch_false: ...to here
fuse-3.18.1/lib/cuse_lowlevel.c:303:22: acquire_resource: opened here
fuse-3.18.1/lib/cuse_lowlevel.c:304:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/cuse_lowlevel.c:306:18: branch_false: ...to here
fuse-3.18.1/lib/cuse_lowlevel.c:306:18: danger: leaks here; was opened at [(5)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/4)
#  304|   		if (fd > 2)
#  305|   			close(fd);
#  306|-> 	} while (fd >= 0 && fd <= 2);
#  307|   
#  308|   	se = cuse_lowlevel_new(&args, ci, clop, userdata);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def57]
fuse-3.18.1/lib/cuse_lowlevel.c:323:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor
fuse-3.18.1/lib/cuse_lowlevel.c:273:22: enter_function: entry to 'cuse_lowlevel_setup'
fuse-3.18.1/lib/cuse_lowlevel.c:289:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/cuse_lowlevel.c:291:27: branch_false: ...to here
fuse-3.18.1/lib/cuse_lowlevel.c:295:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/cuse_lowlevel.c:295:12: branch_false: ...to here
fuse-3.18.1/lib/cuse_lowlevel.c:306:18: branch_false: following 'false' branch...
fuse-3.18.1/lib/cuse_lowlevel.c:308:14: branch_false: ...to here
fuse-3.18.1/lib/cuse_lowlevel.c:308:14: call_function: calling 'cuse_lowlevel_new' from 'cuse_lowlevel_setup'
fuse-3.18.1/lib/cuse_lowlevel.c:308:14: return_function: returning to 'cuse_lowlevel_setup' from 'cuse_lowlevel_new'
fuse-3.18.1/lib/cuse_lowlevel.c:309:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/cuse_lowlevel.c:312:14: branch_false: ...to here
fuse-3.18.1/lib/cuse_lowlevel.c:312:14: acquire_resource: opened here
fuse-3.18.1/lib/cuse_lowlevel.c:313:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/cuse_lowlevel.c:321:9: branch_false: ...to here
fuse-3.18.1/lib/cuse_lowlevel.c:323:15: throw: if 'fuse_set_signal_handlers' throws an exception...
fuse-3.18.1/lib/cuse_lowlevel.c:323:15: danger: leaks here; was opened at [(40)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/39)
#  321|   	se->fd = fd;
#  322|   
#  323|-> 	res = fuse_set_signal_handlers(se);
#  324|   	if (res == -1)
#  325|   		goto err_se;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def58]
fuse-3.18.1/lib/fuse.c:213:17: warning[-Wanalyzer-malloc-leak]: leak of 'so'
fuse-3.18.1/lib/fuse.c:4891:12: enter_function: entry to 'fuse_push_module'
fuse-3.18.1/lib/fuse.c:4896:33: call_function: calling 'fuse_get_module' from 'fuse_push_module'
#  211|   	mod = calloc(1, sizeof(struct fuse_module));
#  212|   	if (!mod) {
#  213|-> 		fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate module\n");
#  214|   		return -1;
#  215|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def59]
fuse-3.18.1/lib/fuse.c:213:17: warning[-Wanalyzer-malloc-leak]: leak of 'tmp'
fuse-3.18.1/lib/fuse.c:4891:12: enter_function: entry to 'fuse_push_module'
fuse-3.18.1/lib/fuse.c:4896:33: call_function: calling 'fuse_get_module' from 'fuse_push_module'
#  211|   	mod = calloc(1, sizeof(struct fuse_module));
#  212|   	if (!mod) {
#  213|-> 		fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate module\n");
#  214|   		return -1;
#  215|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def60]
fuse-3.18.1/lib/fuse.c:218:17: warning[-Wanalyzer-malloc-leak]: leak of 'mod'
fuse-3.18.1/lib/fuse.c:4982:14: enter_function: entry to '_fuse_new_31'
fuse-3.18.1/lib/fuse.c:4992:12: branch_false: following 'false' branch (when 'f' is non-NULL)...
fuse-3.18.1/lib/fuse.c:4997:9: branch_false: ...to here
fuse-3.18.1/lib/fuse.c:5003:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse.c:5007:9: branch_false: ...to here
fuse-3.18.1/lib/fuse.c:5010:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse.c:5012:17: branch_true: ...to here
fuse-3.18.1/lib/fuse.c:5012:17: call_function: calling 'fuse_register_module' from '_fuse_new_31'
#  216|   	mod->name = strdup(name);
#  217|   	if (!mod->name) {
#  218|-> 		fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate module name\n");
#  219|   		free(mod);
#  220|   		return -1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def61]
fuse-3.18.1/lib/fuse.c:218:17: warning[-Wanalyzer-malloc-leak]: leak of 'so'
fuse-3.18.1/lib/fuse.c:4891:12: enter_function: entry to 'fuse_push_module'
fuse-3.18.1/lib/fuse.c:4896:33: call_function: calling 'fuse_get_module' from 'fuse_push_module'
#  216|   	mod->name = strdup(name);
#  217|   	if (!mod->name) {
#  218|-> 		fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate module name\n");
#  219|   		free(mod);
#  220|   		return -1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def62]
fuse-3.18.1/lib/fuse.c:218:17: warning[-Wanalyzer-malloc-leak]: leak of 'tmp'
fuse-3.18.1/lib/fuse.c:4891:12: enter_function: entry to 'fuse_push_module'
fuse-3.18.1/lib/fuse.c:4896:33: call_function: calling 'fuse_get_module' from 'fuse_push_module'
#  216|   	mod->name = strdup(name);
#  217|   	if (!mod->name) {
#  218|-> 		fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate module name\n");
#  219|   		free(mod);
#  220|   		return -1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def63]
fuse-3.18.1/lib/fuse.c:261:17: warning[-Wanalyzer-malloc-leak]: leak of 'tmp'
fuse-3.18.1/lib/fuse.c:4891:12: enter_function: entry to 'fuse_push_module'
fuse-3.18.1/lib/fuse.c:4896:33: call_function: calling 'fuse_get_module' from 'fuse_push_module'
#  259|   	so = calloc(1, sizeof(struct fusemod_so));
#  260|   	if (!so) {
#  261|-> 		fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate module so\n");
#  262|   		goto out;
#  263|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def64]
fuse-3.18.1/lib/fuse.c:267:17: warning[-Wanalyzer-malloc-leak]: leak of 'so'
fuse-3.18.1/lib/fuse.c:4891:12: enter_function: entry to 'fuse_push_module'
fuse-3.18.1/lib/fuse.c:4896:33: call_function: calling 'fuse_get_module' from 'fuse_push_module'
#  265|   	so->handle = dlopen(tmp, RTLD_NOW);
#  266|   	if (so->handle == NULL) {
#  267|-> 		fuse_log(FUSE_LOG_ERR, "fuse: dlopen(%s) failed: %s\n",
#  268|   			tmp, dlerror());
#  269|   		goto out_free_so;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def65]
fuse-3.18.1/lib/fuse.c:267:17: warning[-Wanalyzer-malloc-leak]: leak of 'tmp'
fuse-3.18.1/lib/fuse.c:4891:12: enter_function: entry to 'fuse_push_module'
fuse-3.18.1/lib/fuse.c:4896:33: call_function: calling 'fuse_get_module' from 'fuse_push_module'
#  265|   	so->handle = dlopen(tmp, RTLD_NOW);
#  266|   	if (so->handle == NULL) {
#  267|-> 		fuse_log(FUSE_LOG_ERR, "fuse: dlopen(%s) failed: %s\n",
#  268|   			tmp, dlerror());
#  269|   		goto out_free_so;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def66]
fuse-3.18.1/lib/fuse.c:275:17: warning[-Wanalyzer-malloc-leak]: leak of 'so'
fuse-3.18.1/lib/fuse.c:4891:12: enter_function: entry to 'fuse_push_module'
fuse-3.18.1/lib/fuse.c:4896:33: call_function: calling 'fuse_get_module' from 'fuse_push_module'
#  273|   	factory = (fuse_module_factory_t*)dlsym(so->handle, tmp);
#  274|   	if (factory == NULL) {
#  275|-> 		fuse_log(FUSE_LOG_ERR, "fuse: symbol <%s> not found in module: %s\n",
#  276|   			tmp, dlerror());
#  277|   		goto out_dlclose;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def67]
fuse-3.18.1/lib/fuse.c:275:17: warning[-Wanalyzer-malloc-leak]: leak of 'tmp'
fuse-3.18.1/lib/fuse.c:4891:12: enter_function: entry to 'fuse_push_module'
fuse-3.18.1/lib/fuse.c:4896:33: call_function: calling 'fuse_get_module' from 'fuse_push_module'
#  273|   	factory = (fuse_module_factory_t*)dlsym(so->handle, tmp);
#  274|   	if (factory == NULL) {
#  275|-> 		fuse_log(FUSE_LOG_ERR, "fuse: symbol <%s> not found in module: %s\n",
#  276|   			tmp, dlerror());
#  277|   		goto out_dlclose;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def68]
fuse-3.18.1/lib/fuse.c:540:17: warning[-Wanalyzer-malloc-leak]: leak of 'buf'
fuse-3.18.1/lib/fuse.c:5196:6: enter_function: entry to 'fuse_destroy'
fuse-3.18.1/lib/fuse.c:5203:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse.c:5204:17: branch_true: ...to here
fuse-3.18.1/lib/fuse.c:5206:29: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse.c:5209:37: branch_true: ...to here
fuse-3.18.1/lib/fuse.c:5213:45: call_function: calling 'try_get_path' from 'fuse_destroy'
#  538|   	struct node *node = get_node_nocheck(f, nodeid);
#  539|   	if (!node) {
#  540|-> 		fuse_log(FUSE_LOG_ERR, "fuse internal error: node %llu not found\n",
#  541|   			(unsigned long long) nodeid);
#  542|   		abort();

Error: GCC_ANALYZER_WARNING (CWE-476): [#def69]
fuse-3.18.1/lib/fuse.c:1646:9: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
fuse-3.18.1/lib/fuse.c:5196:6: enter_function: entry to 'fuse_destroy'
fuse-3.18.1/lib/fuse.c:5203:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse.c:5204:17: branch_true: ...to here
fuse-3.18.1/lib/fuse.c:5206:29: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse.c:5209:37: branch_true: ...to here
fuse-3.18.1/lib/fuse.c:5213:45: call_function: calling 'try_get_path' from 'fuse_destroy'
fuse-3.18.1/lib/fuse.c:5213:45: return_function: returning to 'fuse_destroy' from 'try_get_path'
fuse-3.18.1/lib/fuse.c:5213:44: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse.c:5214:49: branch_true: ...to here
fuse-3.18.1/lib/fuse.c:5214:49: call_function: calling 'fuse_fs_unlink' from 'fuse_destroy'
# 1644|   int fuse_fs_unlink(struct fuse_fs *fs, const char *path)
# 1645|   {
# 1646|-> 	fuse_get_context()->private_data = fs->user_data;
# 1647|   	if (!fs->op.unlink)
# 1648|   		return -ENOSYS;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def70]
fuse-3.18.1/lib/fuse.c:2540:16: warning[-Wanalyzer-malloc-leak]: leak of 'c'
fuse-3.18.1/lib/fuse.c:5196:6: enter_function: entry to 'fuse_destroy'
fuse-3.18.1/lib/fuse.c:5203:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse.c:5204:17: branch_true: ...to here
fuse-3.18.1/lib/fuse.c:5204:17: call_function: calling 'fuse_create_context' from 'fuse_destroy'
# 2538|   	c->ctx.fuse = f;
# 2539|   
# 2540|-> 	return c;
# 2541|   }
# 2542|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def71]
fuse-3.18.1/lib/fuse.c:5003:13: warning[-Wanalyzer-malloc-leak]: leak of 'f'
fuse-3.18.1/lib/fuse.c:4991:29: acquire_memory: allocated here
fuse-3.18.1/lib/fuse.c:4992:12: branch_false: following 'false' branch (when 'f' is non-NULL)...
fuse-3.18.1/lib/fuse.c:4997:9: branch_false: ...to here
fuse-3.18.1/lib/fuse.c:5003:13: throw: if 'fuse_opt_parse' throws an exception...
fuse-3.18.1/lib/fuse.c:5003:13: danger: 'f' leaks here; was allocated at [(1)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/0)
# 5001|   
# 5002|   	/* Parse options */
# 5003|-> 	if (fuse_opt_parse(args, &f->conf, fuse_lib_opts,
# 5004|   			   fuse_lib_opt_proc) == -1)
# 5005|   		goto out_free;

Error: GCC_ANALYZER_WARNING (CWE-404): [#def72]
fuse-3.18.1/lib/fuse_log.c:45:9: warning[-Wanalyzer-va-list-leak]: missing call to 'va_end'
fuse-3.18.1/lib/fuse_log.c:44:9: acquire_resource: 'va_start' called here
fuse-3.18.1/lib/fuse_log.c:45:9: throw: if the called function throws an exception...
fuse-3.18.1/lib/fuse_log.c:45:9: danger: missing call to 'va_end' to match 'va_start' at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   43|   
#   44|   	va_start(ap, fmt);
#   45|-> 	log_func(level, fmt, ap);
#   46|   	va_end(ap);
#   47|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def73]
fuse-3.18.1/lib/fuse_loop_mt.c:73:17: warning[-Wanalyzer-malloc-leak]: leak of 'w'
fuse-3.18.1/lib/fuse_loop_mt.c:320:12: enter_function: entry to 'fuse_loop_start_thread'
fuse-3.18.1/lib/fuse_loop_mt.c:324:33: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_loop_mt.c:325:12: branch_false: following 'false' branch (when 'w' is non-NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:329:9: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:334:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: branch_true: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: call_function: calling 'fuse_clone_chan' from 'fuse_loop_start_thread'
#   71|   	struct fuse_chan *ch = (struct fuse_chan *) malloc(sizeof(*ch));
#   72|   	if (ch == NULL) {
#   73|-> 		fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate channel\n");
#   74|   		return NULL;
#   75|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def74]
fuse-3.18.1/lib/fuse_loop_mt.c:103:17: warning[-Wanalyzer-malloc-leak]: leak of 'config'
fuse-3.18.1/lib/fuse_loop_mt.c:438:5: enter_function: entry to 'fuse_session_loop_mt_32'
fuse-3.18.1/lib/fuse_loop_mt.c:443:12: branch_false: following 'false' branch (when 'config_v1' is NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:452:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:452:15: call_function: calling 'fuse_session_loop_mt_312' from 'fuse_session_loop_mt_32'
#  101|   	if (!ch->ctr) {
#  102|   		pthread_mutex_unlock(&ch->lock);
#  103|-> 		close(ch->fd);
#  104|   		pthread_mutex_destroy(&ch->lock);
#  105|   		free(ch);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def75]
fuse-3.18.1/lib/fuse_loop_mt.c:231:23: warning[-Wanalyzer-malloc-leak]: leak of 'config'
fuse-3.18.1/lib/fuse_loop_mt.c:438:5: enter_function: entry to 'fuse_session_loop_mt_32'
fuse-3.18.1/lib/fuse_loop_mt.c:443:12: branch_false: following 'false' branch (when 'config_v1' is NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:452:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:452:15: call_function: calling 'fuse_session_loop_mt_312' from 'fuse_session_loop_mt_32'
#  229|   		long size;
#  230|   
#  231|-> 		res = libfuse_strtol(stack_size, &size);
#  232|   		if (res)
#  233|   			fuse_log(FUSE_LOG_ERR, "fuse: invalid stack size: %s\n",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def76]
fuse-3.18.1/lib/fuse_loop_mt.c:231:23: warning[-Wanalyzer-malloc-leak]: leak of 'w'
fuse-3.18.1/lib/fuse_loop_mt.c:320:12: enter_function: entry to 'fuse_loop_start_thread'
fuse-3.18.1/lib/fuse_loop_mt.c:324:33: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_loop_mt.c:325:12: branch_false: following 'false' branch (when 'w' is non-NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:329:9: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:334:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_loop_mt.c:344:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:344:15: call_function: calling 'fuse_start_thread' from 'fuse_loop_start_thread'
#  229|   		long size;
#  230|   
#  231|-> 		res = libfuse_strtol(stack_size, &size);
#  232|   		if (res)
#  233|   			fuse_log(FUSE_LOG_ERR, "fuse: invalid stack size: %s\n",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def77]
fuse-3.18.1/lib/fuse_loop_mt.c:233:25: warning[-Wanalyzer-malloc-leak]: leak of 'config'
fuse-3.18.1/lib/fuse_loop_mt.c:438:5: enter_function: entry to 'fuse_session_loop_mt_32'
fuse-3.18.1/lib/fuse_loop_mt.c:443:12: branch_false: following 'false' branch (when 'config_v1' is NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:452:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:452:15: call_function: calling 'fuse_session_loop_mt_312' from 'fuse_session_loop_mt_32'
#  231|   		res = libfuse_strtol(stack_size, &size);
#  232|   		if (res)
#  233|-> 			fuse_log(FUSE_LOG_ERR, "fuse: invalid stack size: %s\n",
#  234|   				 stack_size);
#  235|   		else if (pthread_attr_setstacksize(&attr, size))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def78]
fuse-3.18.1/lib/fuse_loop_mt.c:233:25: warning[-Wanalyzer-malloc-leak]: leak of 'w'
fuse-3.18.1/lib/fuse_loop_mt.c:320:12: enter_function: entry to 'fuse_loop_start_thread'
fuse-3.18.1/lib/fuse_loop_mt.c:324:33: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_loop_mt.c:325:12: branch_false: following 'false' branch (when 'w' is non-NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:329:9: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:334:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_loop_mt.c:344:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:344:15: call_function: calling 'fuse_start_thread' from 'fuse_loop_start_thread'
#  231|   		res = libfuse_strtol(stack_size, &size);
#  232|   		if (res)
#  233|-> 			fuse_log(FUSE_LOG_ERR, "fuse: invalid stack size: %s\n",
#  234|   				 stack_size);
#  235|   		else if (pthread_attr_setstacksize(&attr, size))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def79]
fuse-3.18.1/lib/fuse_loop_mt.c:236:25: warning[-Wanalyzer-malloc-leak]: leak of 'config'
fuse-3.18.1/lib/fuse_loop_mt.c:438:5: enter_function: entry to 'fuse_session_loop_mt_32'
fuse-3.18.1/lib/fuse_loop_mt.c:443:12: branch_false: following 'false' branch (when 'config_v1' is NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:452:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:452:15: call_function: calling 'fuse_session_loop_mt_312' from 'fuse_session_loop_mt_32'
#  234|   				 stack_size);
#  235|   		else if (pthread_attr_setstacksize(&attr, size))
#  236|-> 			fuse_log(FUSE_LOG_ERR, "fuse: could not set stack size: %ld\n",
#  237|   				 size);
#  238|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def80]
fuse-3.18.1/lib/fuse_loop_mt.c:236:25: warning[-Wanalyzer-malloc-leak]: leak of 'w'
fuse-3.18.1/lib/fuse_loop_mt.c:320:12: enter_function: entry to 'fuse_loop_start_thread'
fuse-3.18.1/lib/fuse_loop_mt.c:324:33: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_loop_mt.c:325:12: branch_false: following 'false' branch (when 'w' is non-NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:329:9: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:334:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_loop_mt.c:344:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:344:15: call_function: calling 'fuse_start_thread' from 'fuse_loop_start_thread'
#  234|   				 stack_size);
#  235|   		else if (pthread_attr_setstacksize(&attr, size))
#  236|-> 			fuse_log(FUSE_LOG_ERR, "fuse: could not set stack size: %ld\n",
#  237|   				 size);
#  238|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def81]
fuse-3.18.1/lib/fuse_loop_mt.c:251:17: warning[-Wanalyzer-malloc-leak]: leak of 'config'
fuse-3.18.1/lib/fuse_loop_mt.c:438:5: enter_function: entry to 'fuse_session_loop_mt_32'
fuse-3.18.1/lib/fuse_loop_mt.c:443:12: branch_false: following 'false' branch (when 'config_v1' is NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:452:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:452:15: call_function: calling 'fuse_session_loop_mt_312' from 'fuse_session_loop_mt_32'
#  249|   	pthread_attr_destroy(&attr);
#  250|   	if (res != 0) {
#  251|-> 		fuse_log(FUSE_LOG_ERR, "fuse: error creating thread: %s\n",
#  252|   			strerror(res));
#  253|   		return -1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def82]
fuse-3.18.1/lib/fuse_loop_mt.c:269:19: warning[-Wanalyzer-malloc-leak]: leak of 'w'
fuse-3.18.1/lib/fuse_loop_mt.c:320:12: enter_function: entry to 'fuse_loop_start_thread'
fuse-3.18.1/lib/fuse_loop_mt.c:324:33: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_loop_mt.c:325:12: branch_false: following 'false' branch (when 'w' is non-NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:329:9: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:334:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: branch_true: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: call_function: calling 'fuse_clone_chan' from 'fuse_loop_start_thread'
#  267|   #define O_CLOEXEC 0
#  268|   #endif
#  269|-> 	clonefd = open(devname, O_RDWR | O_CLOEXEC);
#  270|   	if (clonefd == -1) {
#  271|   		fuse_log(FUSE_LOG_ERR, "fuse: failed to open %s: %s\n", devname,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def83]
fuse-3.18.1/lib/fuse_loop_mt.c:271:17: warning[-Wanalyzer-malloc-leak]: leak of 'w'
fuse-3.18.1/lib/fuse_loop_mt.c:320:12: enter_function: entry to 'fuse_loop_start_thread'
fuse-3.18.1/lib/fuse_loop_mt.c:324:33: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_loop_mt.c:325:12: branch_false: following 'false' branch (when 'w' is non-NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:329:9: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:334:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: branch_true: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: call_function: calling 'fuse_clone_chan' from 'fuse_loop_start_thread'
#  269|   	clonefd = open(devname, O_RDWR | O_CLOEXEC);
#  270|   	if (clonefd == -1) {
#  271|-> 		fuse_log(FUSE_LOG_ERR, "fuse: failed to open %s: %s\n", devname,
#  272|   			strerror(errno));
#  273|   		return -1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def84]
fuse-3.18.1/lib/fuse_loop_mt.c:288:17: warning[-Wanalyzer-malloc-leak]: leak of 'w'
fuse-3.18.1/lib/fuse_loop_mt.c:320:12: enter_function: entry to 'fuse_loop_start_thread'
fuse-3.18.1/lib/fuse_loop_mt.c:324:33: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_loop_mt.c:325:12: branch_false: following 'false' branch (when 'w' is non-NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:329:9: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:334:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: branch_true: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: call_function: calling 'fuse_clone_chan' from 'fuse_loop_start_thread'
#  286|   	res = ioctl(clonefd, FUSE_DEV_IOC_CLONE, &masterfd);
#  287|   	if (res == -1) {
#  288|-> 		fuse_log(FUSE_LOG_ERR, "fuse: failed to clone device fd: %s\n",
#  289|   			strerror(errno));
#  290|   		close(clonefd);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def85]
fuse-3.18.1/lib/fuse_loop_mt.c:290:17: warning[-Wanalyzer-malloc-leak]: leak of 'w'
fuse-3.18.1/lib/fuse_loop_mt.c:320:12: enter_function: entry to 'fuse_loop_start_thread'
fuse-3.18.1/lib/fuse_loop_mt.c:324:33: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_loop_mt.c:325:12: branch_false: following 'false' branch (when 'w' is non-NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:329:9: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:334:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: branch_true: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: call_function: calling 'fuse_clone_chan' from 'fuse_loop_start_thread'
#  288|   		fuse_log(FUSE_LOG_ERR, "fuse: failed to clone device fd: %s\n",
#  289|   			strerror(errno));
#  290|-> 		close(clonefd);
#  291|   		return -1;
#  292|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def86]
fuse-3.18.1/lib/fuse_loop_mt.c:304:35: warning[-Wanalyzer-malloc-leak]: leak of 'w'
fuse-3.18.1/lib/fuse_loop_mt.c:320:12: enter_function: entry to 'fuse_loop_start_thread'
fuse-3.18.1/lib/fuse_loop_mt.c:324:33: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_loop_mt.c:325:12: branch_false: following 'false' branch (when 'w' is non-NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:329:9: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:334:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: branch_true: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: call_function: calling 'fuse_clone_chan' from 'fuse_loop_start_thread'
#  302|   	if (se->io != NULL) {
#  303|   		if (se->io->clone_fd != NULL)
#  304|-> 			clonefd = se->io->clone_fd(se->fd);
#  305|   		else
#  306|   			return NULL;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def87]
fuse-3.18.1/lib/fuse_loop_mt.c:315:17: warning[-Wanalyzer-malloc-leak]: leak of 'w'
fuse-3.18.1/lib/fuse_loop_mt.c:320:12: enter_function: entry to 'fuse_loop_start_thread'
fuse-3.18.1/lib/fuse_loop_mt.c:324:33: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_loop_mt.c:325:12: branch_false: following 'false' branch (when 'w' is non-NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:329:9: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:334:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: branch_true: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: call_function: calling 'fuse_clone_chan' from 'fuse_loop_start_thread'
#  313|   	newch = fuse_chan_new(clonefd);
#  314|   	if (newch == NULL)
#  315|-> 		close(clonefd);
#  316|   
#  317|   	return newch;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def88]
fuse-3.18.1/lib/fuse_loop_mt.c:326:17: warning[-Wanalyzer-malloc-leak]: leak of 'config'
fuse-3.18.1/lib/fuse_loop_mt.c:438:5: enter_function: entry to 'fuse_session_loop_mt_32'
fuse-3.18.1/lib/fuse_loop_mt.c:443:12: branch_false: following 'false' branch (when 'config_v1' is NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:452:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:452:15: call_function: calling 'fuse_session_loop_mt_312' from 'fuse_session_loop_mt_32'
#  324|   	struct fuse_worker *w = malloc(sizeof(struct fuse_worker));
#  325|   	if (!w) {
#  326|-> 		fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate worker structure\n");
#  327|   		return -1;
#  328|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def89]
fuse-3.18.1/lib/fuse_loop_mt.c:338:25: warning[-Wanalyzer-malloc-leak]: leak of 'w'
fuse-3.18.1/lib/fuse_loop_mt.c:324:33: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_loop_mt.c:325:12: branch_false: following 'false' branch (when 'w' is non-NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:329:9: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:334:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_loop_mt.c:335:25: branch_true: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:336:19: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_loop_mt.c:338:25: branch_true: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:338:25: throw: if 'fuse_log' throws an exception...
fuse-3.18.1/lib/fuse_loop_mt.c:338:25: danger: 'w' leaks here; was allocated at [(1)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/0)
#  336|   		if(!w->ch) {
#  337|   			/* Don't attempt this again */
#  338|-> 			fuse_log(FUSE_LOG_ERR, "fuse: trying to continue "
#  339|   				"without -o clone_fd.\n");
#  340|   			mt->clone_fd = 0;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def90]
fuse-3.18.1/lib/fuse_loop_mt.c:390:23: warning[-Wanalyzer-null-dereference]: dereference of NULL 'config'
fuse-3.18.1/lib/fuse_loop_mt.c:370:5: enter_function: entry to 'fuse_session_loop_mt_312'
fuse-3.18.1/lib/fuse_loop_mt.c:377:12: branch_false: following 'false' branch (when 'config' is NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:383:26: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:383:26: call_function: calling 'fuse_loop_cfg_create' from 'fuse_session_loop_mt_312'
fuse-3.18.1/lib/fuse_loop_mt.c:383:26: return_function: returning to 'fuse_session_loop_mt_312' from 'fuse_loop_cfg_create'
fuse-3.18.1/lib/fuse_loop_mt.c:390:23: danger: dereference of NULL 'config'
#  388|   	memset(&mt, 0, sizeof(struct fuse_mt));
#  389|   	mt.se = se;
#  390|-> 	mt.clone_fd = config->clone_fd;
#  391|   	mt.error = 0;
#  392|   	mt.numworker = 0;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def91]
fuse-3.18.1/lib/fuse_loop_mt.c:467:18: warning[-Wanalyzer-malloc-leak]: leak of 'fuse_loop_cfg_create()'
fuse-3.18.1/lib/fuse_loop_mt.c:462:5: enter_function: entry to 'fuse_session_loop_mt_31'
fuse-3.18.1/lib/fuse_loop_mt.c:465:43: call_function: calling 'fuse_loop_cfg_create' from 'fuse_session_loop_mt_31'
fuse-3.18.1/lib/fuse_loop_mt.c:465:43: return_function: returning to 'fuse_session_loop_mt_31' from 'fuse_loop_cfg_create'
fuse-3.18.1/lib/fuse_loop_mt.c:468:15: call_function: calling 'fuse_session_loop_mt_312' from 'fuse_session_loop_mt_31'
#  465|   	struct fuse_loop_config *config = fuse_loop_cfg_create();
#  466|   	if (clone_fd > 0)
#  467|-> 		 fuse_loop_cfg_set_clone_fd(config, clone_fd);
#  468|   	err = fuse_session_loop_mt_312(se, config);
#  469|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def92]
fuse-3.18.1/lib/fuse_loop_mt.c:496:13: warning[-Wanalyzer-malloc-leak]: leak of 'fuse_loop_cfg_create()'
fuse-3.18.1/lib/fuse_loop_mt.c:462:5: enter_function: entry to 'fuse_session_loop_mt_31'
fuse-3.18.1/lib/fuse_loop_mt.c:465:43: call_function: calling 'fuse_loop_cfg_create' from 'fuse_session_loop_mt_31'
fuse-3.18.1/lib/fuse_loop_mt.c:465:43: return_function: returning to 'fuse_session_loop_mt_31' from 'fuse_loop_cfg_create'
fuse-3.18.1/lib/fuse_loop_mt.c:468:15: call_function: calling 'fuse_session_loop_mt_312' from 'fuse_session_loop_mt_31'
#  494|   int fuse_loop_cfg_verify(struct fuse_loop_config *config)
#  495|   {
#  496|-> 	if (config->version_id != FUSE_LOOP_MT_V2_IDENTIFIER)
#  497|   		return -EINVAL;
#  498|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def93]
fuse-3.18.1/lib/fuse_loop_mt.c:505:9: warning[-Wanalyzer-malloc-leak]: leak of 'fuse_loop_cfg_create()'
fuse-3.18.1/lib/fuse_loop_mt.c:438:5: enter_function: entry to 'fuse_session_loop_mt_32'
fuse-3.18.1/lib/fuse_loop_mt.c:443:12: branch_true: following 'true' branch (when 'config_v1' is non-NULL)...
fuse-3.18.1/lib/fuse_loop_mt.c:445:26: branch_true: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:445:26: call_function: calling 'fuse_loop_cfg_create' from 'fuse_session_loop_mt_32'
fuse-3.18.1/lib/fuse_loop_mt.c:445:26: return_function: returning to 'fuse_session_loop_mt_32' from 'fuse_loop_cfg_create'
fuse-3.18.1/lib/fuse_loop_mt.c:446:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_loop_mt.c:449:17: branch_false: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:449:17: call_function: calling 'fuse_loop_cfg_convert' from 'fuse_session_loop_mt_32'
#  503|   			   struct fuse_loop_config_v1 *v1_conf)
#  504|   {
#  505|-> 	fuse_loop_cfg_set_idle_threads(config, v1_conf->max_idle_threads);
#  506|   
#  507|   	fuse_loop_cfg_set_clone_fd(config, v1_conf->clone_fd);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def94]
fuse-3.18.1/lib/fuse_loop_mt.c:533:9: warning[-Wanalyzer-null-dereference]: dereference of NULL 'config'
fuse-3.18.1/lib/fuse_loop_mt.c:462:5: enter_function: entry to 'fuse_session_loop_mt_31'
fuse-3.18.1/lib/fuse_loop_mt.c:465:43: call_function: calling 'fuse_loop_cfg_create' from 'fuse_session_loop_mt_31'
fuse-3.18.1/lib/fuse_loop_mt.c:465:43: return_function: returning to 'fuse_session_loop_mt_31' from 'fuse_loop_cfg_create'
fuse-3.18.1/lib/fuse_loop_mt.c:466:12: branch_true: following 'true' branch (when 'clone_fd > 0')...
fuse-3.18.1/lib/fuse_loop_mt.c:467:18: branch_true: ...to here
fuse-3.18.1/lib/fuse_loop_mt.c:467:18: call_function: calling 'fuse_loop_cfg_set_clone_fd' from 'fuse_session_loop_mt_31'
#  531|   				unsigned int value)
#  532|   {
#  533|-> 	config->clone_fd = value;
#  534|   }
#  535|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def95]
fuse-3.18.1/lib/fuse_lowlevel.c:713:36: warning[-Wanalyzer-malloc-leak]: leak of 'fuse_ll_get_pipe(se)'
fuse-3.18.1/lib/fuse_lowlevel.c:3888:12: enter_function: entry to '_fuse_session_receive_buf'
fuse-3.18.1/lib/fuse_lowlevel.c:3902:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3903:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3902:13: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3906:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3906:15: call_function: calling 'fuse_ll_get_pipe' from '_fuse_session_receive_buf'
fuse-3.18.1/lib/fuse_lowlevel.c:3906:15: return_function: returning to '_fuse_session_receive_buf' from 'fuse_ll_get_pipe'
fuse-3.18.1/lib/fuse_lowlevel.c:3907:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3910:13: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3910:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3911:21: branch_true: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3911:20: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3912:31: branch_true: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3912:31: throw: if 'fcntl' throws an exception...
fuse-3.18.1/lib/fuse_lowlevel.c:713:36: danger: 'fuse_ll_get_pipe(se)' leaks here; was allocated at [(12)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/11)
#  711|   static struct fuse_ll_pipe *fuse_ll_get_pipe(struct fuse_session *se)
#  712|   {
#  713|-> 	struct fuse_ll_pipe *llp = pthread_getspecific(se->pipe_key);
#  714|   	if (llp == NULL) {
#  715|   		int res;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def96]
fuse-3.18.1/lib/fuse_lowlevel.c:786:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open("/proc/sys/fs/pipe-max-size", 0)'
fuse-3.18.1/lib/fuse_lowlevel.c:3888:12: enter_function: entry to '_fuse_session_receive_buf'
fuse-3.18.1/lib/fuse_lowlevel.c:3902:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3903:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3902:13: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3906:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3907:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3910:13: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3910:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3911:21: branch_true: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3911:20: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3912:31: branch_true: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3915:39: call_function: calling 'grow_pipe_to_max' from '_fuse_session_receive_buf'
#  784|   
#  785|   		saved_errno = errno;
#  786|-> 		close(maxfd);
#  787|   		return -saved_errno;
#  788|   	}

Error: GCC_ANALYZER_WARNING (CWE-775): [#def97]
fuse-3.18.1/lib/fuse_lowlevel.c:789:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open("/proc/sys/fs/pipe-max-size", 0)'
fuse-3.18.1/lib/fuse_lowlevel.c:3888:12: enter_function: entry to '_fuse_session_receive_buf'
fuse-3.18.1/lib/fuse_lowlevel.c:3902:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3903:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3902:13: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3906:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3907:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3910:13: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3910:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3911:21: branch_true: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3911:20: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3912:31: branch_true: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3915:39: call_function: calling 'grow_pipe_to_max' from '_fuse_session_receive_buf'
#  787|   		return -saved_errno;
#  788|   	}
#  789|-> 	close(maxfd);
#  790|   	buf[res] = '\0';
#  791|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def98]
fuse-3.18.1/lib/fuse_lowlevel.c:3578:23: warning[-Wanalyzer-malloc-leak]: leak of 'mbuf'
fuse-3.18.1/lib/fuse_lowlevel.c:3597:6: enter_function: entry to 'fuse_session_process_buf_internal'
fuse-3.18.1/lib/fuse_lowlevel.c:3611:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:3612:21: branch_true: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3615:24: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_lowlevel.c:3616:20: branch_false: following 'false' branch (when 'mbuf' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:3620:17: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:3622:23: call_function: calling 'fuse_ll_copy_from_pipe' from 'fuse_session_process_buf_internal'
# 3576|   				  struct fuse_bufvec *src)
# 3577|   {
# 3578|-> 	ssize_t res = fuse_buf_copy(dst, src, 0);
# 3579|   	if (res < 0) {
# 3580|   		fuse_log(FUSE_LOG_ERR, "fuse: copy from pipe: %s\n", strerror(-res));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def99]
fuse-3.18.1/lib/fuse_lowlevel.c:4165:12: warning[-Wanalyzer-malloc-leak]: leak of 'se'
fuse-3.18.1/lib/fuse_lowlevel.c:4122:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4128:12: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4128:12: branch_false: following 'false' branch (when 'version' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4133:12: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4138:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4143:38: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_lowlevel.c:4144:12: branch_false: following 'false' branch (when 'se' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4148:9: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4160:29: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4160:9: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4165:12: throw: if 'fuse_opt_parse' throws an exception...
fuse-3.18.1/lib/fuse_lowlevel.c:4165:12: danger: 'se' leaks here; was allocated at [(7)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/6)
# 4163|   
# 4164|   	/* Parse options */
# 4165|-> 	if(fuse_opt_parse(args, se, fuse_ll_opts, NULL) == -1)
# 4166|   		goto out2;
# 4167|   	if(se->deny_others) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def100]
fuse-3.18.1/lib/fuse_lowlevel.c:4342:22: warning[-Wanalyzer-malloc-leak]: leak of 'mountpoint'
fuse-3.18.1/lib/fuse_lowlevel.c:4325:12: branch_false: following 'false' branch (when '_mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: following 'false' branch (when 'mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4342:22: throw: if 'open' throws an exception...
fuse-3.18.1/lib/fuse_lowlevel.c:4342:22: danger: 'mountpoint' leaks here; was allocated at [(3)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/2)
# 4340|   	 */
# 4341|   	do {
# 4342|-> 		fd = open("/dev/null", O_RDWR);
# 4343|   		if (fd > 2)
# 4344|   			close(fd);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def101]
fuse-3.18.1/lib/fuse_lowlevel.c:4344:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open("/dev/null", 2)'
fuse-3.18.1/lib/fuse_lowlevel.c:4325:12: branch_false: following 'false' branch (when '_mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: following 'false' branch (when 'mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4342:22: acquire_resource: opened here
fuse-3.18.1/lib/fuse_lowlevel.c:4344:25: throw: if 'close' throws an exception...
fuse-3.18.1/lib/fuse_lowlevel.c:4344:25: danger: 'open("/dev/null", 2)' leaks here; was opened at [(5)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/4)
# 4342|   		fd = open("/dev/null", O_RDWR);
# 4343|   		if (fd > 2)
# 4344|-> 			close(fd);
# 4345|   	} while (fd >= 0 && fd <= 2);
# 4346|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def102]
fuse-3.18.1/lib/fuse_lowlevel.c:4344:25: warning[-Wanalyzer-malloc-leak]: leak of 'mountpoint'
fuse-3.18.1/lib/fuse_lowlevel.c:4325:12: branch_false: following 'false' branch (when '_mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: following 'false' branch (when 'mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4344:25: throw: if 'close' throws an exception...
fuse-3.18.1/lib/fuse_lowlevel.c:4344:25: danger: 'mountpoint' leaks here; was allocated at [(3)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/2)
# 4342|   		fd = open("/dev/null", O_RDWR);
# 4343|   		if (fd > 2)
# 4344|-> 			close(fd);
# 4345|   	} while (fd >= 0 && fd <= 2);
# 4346|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def103]
fuse-3.18.1/lib/fuse_lowlevel.c:4345:18: warning[-Wanalyzer-fd-leak]: leak of file descriptor
fuse-3.18.1/lib/fuse_lowlevel.c:4325:12: branch_false: following 'false' branch (when '_mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: following 'false' branch (when 'mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4342:22: acquire_resource: opened here
fuse-3.18.1/lib/fuse_lowlevel.c:4343:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4345:18: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4345:18: danger: leaks here; was opened at [(5)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/4)
# 4343|   		if (fd > 2)
# 4344|   			close(fd);
# 4345|-> 	} while (fd >= 0 && fd <= 2);
# 4346|   
# 4347|   	/*

Error: GCC_ANALYZER_WARNING (CWE-401): [#def104]
fuse-3.18.1/lib/fuse_lowlevel.c:4353:14: warning[-Wanalyzer-malloc-leak]: leak of 'mountpoint'
fuse-3.18.1/lib/fuse_lowlevel.c:4325:12: branch_false: following 'false' branch (when '_mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: following 'false' branch (when 'mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4345:18: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4353:14: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4353:14: throw: if 'fuse_mnt_parse_fuse_fd' throws an exception...
fuse-3.18.1/lib/fuse_lowlevel.c:4353:14: danger: 'mountpoint' leaks here; was allocated at [(3)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/2)
# 4351|   	 * parent process takes care of performing the mount in this case.
# 4352|   	 */
# 4353|-> 	fd = fuse_mnt_parse_fuse_fd(mountpoint);
# 4354|   	if (fd != -1) {
# 4355|   		if (fcntl(fd, F_GETFD) == -1) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def105]
fuse-3.18.1/lib/fuse_lowlevel.c:4355:21: warning[-Wanalyzer-malloc-leak]: leak of 'mountpoint'
fuse-3.18.1/lib/fuse_lowlevel.c:4325:12: branch_false: following 'false' branch (when '_mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: following 'false' branch (when 'mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4345:18: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4353:14: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4354:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4355:21: branch_true: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4355:21: throw: if 'fcntl' throws an exception...
fuse-3.18.1/lib/fuse_lowlevel.c:4355:21: danger: 'mountpoint' leaks here; was allocated at [(3)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/2)
# 4353|   	fd = fuse_mnt_parse_fuse_fd(mountpoint);
# 4354|   	if (fd != -1) {
# 4355|-> 		if (fcntl(fd, F_GETFD) == -1) {
# 4356|   			fuse_log(FUSE_LOG_ERR,
# 4357|   				"fuse: Invalid file descriptor /dev/fd/%u\n",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def106]
fuse-3.18.1/lib/fuse_lowlevel.c:4356:25: warning[-Wanalyzer-malloc-leak]: leak of 'mountpoint'
fuse-3.18.1/lib/fuse_lowlevel.c:4325:12: branch_false: following 'false' branch (when '_mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: following 'false' branch (when 'mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4345:18: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4353:14: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4354:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4355:21: branch_true: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4355:20: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4356:25: branch_true: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4356:25: throw: if 'fuse_log' throws an exception...
fuse-3.18.1/lib/fuse_lowlevel.c:4356:25: danger: 'mountpoint' leaks here; was allocated at [(3)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/2)
# 4354|   	if (fd != -1) {
# 4355|   		if (fcntl(fd, F_GETFD) == -1) {
# 4356|-> 			fuse_log(FUSE_LOG_ERR,
# 4357|   				"fuse: Invalid file descriptor /dev/fd/%u\n",
# 4358|   				fd);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def107]
fuse-3.18.1/lib/fuse_lowlevel.c:4366:14: warning[-Wanalyzer-malloc-leak]: leak of 'mountpoint'
fuse-3.18.1/lib/fuse_lowlevel.c:4325:12: branch_false: following 'false' branch (when '_mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: following 'false' branch (when 'mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4345:18: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4353:14: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4354:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4366:14: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4366:14: throw: if 'fuse_kern_mount' throws an exception...
fuse-3.18.1/lib/fuse_lowlevel.c:4366:14: danger: 'mountpoint' leaks here; was allocated at [(3)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/2)
# 4364|   
# 4365|   	/* Open channel */
# 4366|-> 	fd = fuse_kern_mount(mountpoint, se->mo);
# 4367|   	if (fd == -1)
# 4368|   		goto error_out;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def108]
fuse-3.18.1/lib/fuse_lowlevel.c:4379:1: warning[-Wanalyzer-malloc-leak]: leak of 'mountpoint'
fuse-3.18.1/lib/fuse_lowlevel.c:4325:12: branch_false: following 'false' branch (when '_mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4330:22: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: following 'false' branch (when 'mountpoint' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4331:12: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4345:18: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4353:14: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4354:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4355:21: branch_true: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4355:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4361:17: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4379:1: danger: 'mountpoint' leaks here; was allocated at [(3)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/2)
# 4377|   	free(mountpoint);
# 4378|   	return -1;
# 4379|-> }
# 4380|   
# 4381|   int fuse_session_fd(struct fuse_session *se)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def109]
fuse-3.18.1/lib/fuse_lowlevel.c:4416:14: warning[-Wanalyzer-malloc-leak]: leak of 'buf'
fuse-3.18.1/lib/fuse_lowlevel.c:4411:15: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_lowlevel.c:4412:12: branch_false: following 'false' branch (when 'buf' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4416:14: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4416:14: throw: if 'open' throws an exception...
fuse-3.18.1/lib/fuse_lowlevel.c:4416:14: danger: 'buf' leaks here; was allocated at [(1)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/0)
# 4414|   
# 4415|   	ret = -EIO;
# 4416|-> 	fd = open(path, O_RDONLY);
# 4417|   	if (fd == -1)
# 4418|   		goto out_free;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def110]
fuse-3.18.1/lib/fuse_lowlevel.c:4421:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open(&path, 0)'
fuse-3.18.1/lib/fuse_lowlevel.c:4412:12: branch_false: following 'false' branch (when 'buf' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4416:14: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4416:14: acquire_resource: opened here
fuse-3.18.1/lib/fuse_lowlevel.c:4417:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4420:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4421:9: danger: 'open(&path, 0)' leaks here; was opened at [(3)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/2)
# 4419|   
# 4420|   	ret = read(fd, buf, bufsize);
# 4421|-> 	close(fd);
# 4422|   	if (ret < 0) {
# 4423|   		ret = -EIO;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def111]
fuse-3.18.1/lib/fuse_lowlevel.c:4421:9: warning[-Wanalyzer-malloc-leak]: leak of 'buf'
fuse-3.18.1/lib/fuse_lowlevel.c:4411:15: acquire_memory: allocated here
fuse-3.18.1/lib/fuse_lowlevel.c:4412:12: branch_false: following 'false' branch (when 'buf' is non-NULL)...
fuse-3.18.1/lib/fuse_lowlevel.c:4416:14: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4417:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_lowlevel.c:4420:15: branch_false: ...to here
fuse-3.18.1/lib/fuse_lowlevel.c:4421:9: throw: if 'close' throws an exception...
fuse-3.18.1/lib/fuse_lowlevel.c:4421:9: danger: 'buf' leaks here; was allocated at [(1)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/0)
# 4419|   
# 4420|   	ret = read(fd, buf, bufsize);
# 4421|-> 	close(fd);
# 4422|   	if (ret < 0) {
# 4423|   		ret = -EIO;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def112]
fuse-3.18.1/lib/fuse_opt.c:51:9: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
fuse-3.18.1/lib/fuse_opt.c:398:5: enter_function: entry to 'fuse_opt_parse'
fuse-3.18.1/lib/fuse_opt.c:408:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_opt.c:414:15: call_function: calling 'opt_parse' from 'fuse_opt_parse'
#   49|   static int alloc_failed(void)
#   50|   {
#   51|-> 	fuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");
#   52|   	return -1;
#   53|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def113]
fuse-3.18.1/lib/fuse_opt.c:51:9: warning[-Wanalyzer-malloc-leak]: leak of 'ctx.outargs.argv'
fuse-3.18.1/lib/fuse_opt.c:398:5: enter_function: entry to 'fuse_opt_parse'
fuse-3.18.1/lib/fuse_opt.c:408:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_opt.c:414:15: call_function: calling 'opt_parse' from 'fuse_opt_parse'
#   49|   static int alloc_failed(void)
#   50|   {
#   51|-> 	fuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");
#   52|   	return -1;
#   53|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def114]
fuse-3.18.1/lib/fuse_opt.c:66:19: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
fuse-3.18.1/lib/fuse_opt.c:398:5: enter_function: entry to 'fuse_opt_parse'
fuse-3.18.1/lib/fuse_opt.c:408:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_opt.c:414:15: call_function: calling 'opt_parse' from 'fuse_opt_parse'
#   64|   		return alloc_failed();
#   65|   
#   66|-> 	newargv = realloc(args->argv, (args->argc + 2) * sizeof(char *));
#   67|   	if (!newargv) {
#   68|   		free(newarg);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def115]
fuse-3.18.1/lib/fuse_opt.c:161:27: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
fuse-3.18.1/lib/fuse_opt.c:398:5: enter_function: entry to 'fuse_opt_parse'
fuse-3.18.1/lib/fuse_opt.c:408:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_opt.c:414:15: call_function: calling 'opt_parse' from 'fuse_opt_parse'
#  159|   
#  160|   	if (key != FUSE_OPT_KEY_KEEP && ctx->proc) {
#  161|-> 		int res = ctx->proc(ctx->data, arg, key, &ctx->outargs);
#  162|   		if (res == -1 || !res)
#  163|   			return res;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def116]
fuse-3.18.1/lib/fuse_opt.c:161:27: warning[-Wanalyzer-malloc-leak]: leak of 'ctx.outargs.argv'
fuse-3.18.1/lib/fuse_opt.c:398:5: enter_function: entry to 'fuse_opt_parse'
fuse-3.18.1/lib/fuse_opt.c:408:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_opt.c:414:15: call_function: calling 'opt_parse' from 'fuse_opt_parse'
#  159|   
#  160|   	if (key != FUSE_OPT_KEY_KEEP && ctx->proc) {
#  161|-> 		int res = ctx->proc(ctx->data, arg, key, &ctx->outargs);
#  162|   		if (res == -1 || !res)
#  163|   			return res;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def117]
fuse-3.18.1/lib/fuse_opt.c:340:17: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
fuse-3.18.1/lib/fuse_opt.c:398:5: enter_function: entry to 'fuse_opt_parse'
fuse-3.18.1/lib/fuse_opt.c:408:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_opt.c:414:15: call_function: calling 'opt_parse' from 'fuse_opt_parse'
#  338|   
#  339|   	if (!copy) {
#  340|-> 		fuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");
#  341|   		return -1;
#  342|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def118]
fuse-3.18.1/lib/fuse_opt.c:340:17: warning[-Wanalyzer-malloc-leak]: leak of 'ctx.outargs.argv'
fuse-3.18.1/lib/fuse_opt.c:398:5: enter_function: entry to 'fuse_opt_parse'
fuse-3.18.1/lib/fuse_opt.c:408:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/fuse_opt.c:414:15: call_function: calling 'opt_parse' from 'fuse_opt_parse'
#  338|   
#  339|   	if (!copy) {
#  340|-> 		fuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");
#  341|   		return -1;
#  342|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def119]
fuse-3.18.1/lib/helper.c:200:15: warning[-Wanalyzer-malloc-leak]: leak of 'subtype_opt'
fuse-3.18.1/lib/helper.c:190:32: acquire_memory: allocated here
fuse-3.18.1/lib/helper.c:191:12: branch_false: following 'false' branch (when 'subtype_opt' is non-NULL)...
fuse-3.18.1/lib/helper.c:198:9: branch_false: ...to here
fuse-3.18.1/lib/helper.c:200:15: throw: if 'fuse_opt_add_arg' throws an exception...
fuse-3.18.1/lib/helper.c:200:15: danger: 'subtype_opt' leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  198|   	sprintf(subtype_opt, "-osubtype=%s", basename);
#  199|   #endif
#  200|-> 	res = fuse_opt_add_arg(args, subtype_opt);
#  201|   	free(subtype_opt);
#  202|   	return res;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def120]
fuse-3.18.1/lib/helper.c:262:32: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[0]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:262:32: danger: 'waiter[0]' leaks here
#  260|   		if (pipe(waiter)) {
#  261|   			perror("fuse_daemonize: pipe");
#  262|-> 			return -1;
#  263|   		}
#  264|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def121]
fuse-3.18.1/lib/helper.c:262:32: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[1]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:262:32: danger: 'waiter[1]' leaks here
#  260|   		if (pipe(waiter)) {
#  261|   			perror("fuse_daemonize: pipe");
#  262|-> 			return -1;
#  263|   		}
#  264|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def122]
fuse-3.18.1/lib/helper.c:271:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[0]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:271:25: throw: if 'perror' throws an exception...
fuse-3.18.1/lib/helper.c:271:25: danger: 'waiter[0]' leaks here
#  269|   		switch(fork()) {
#  270|   		case -1:
#  271|-> 			perror("fuse_daemonize: fork");
#  272|   			return -1;
#  273|   		case 0:

Error: GCC_ANALYZER_WARNING (CWE-775): [#def123]
fuse-3.18.1/lib/helper.c:271:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[1]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:271:25: throw: if 'perror' throws an exception...
fuse-3.18.1/lib/helper.c:271:25: danger: 'waiter[1]' leaks here
#  269|   		switch(fork()) {
#  270|   		case -1:
#  271|-> 			perror("fuse_daemonize: fork");
#  272|   			return -1;
#  273|   		case 0:

Error: GCC_ANALYZER_WARNING (CWE-775): [#def124]
fuse-3.18.1/lib/helper.c:281:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[0]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:280:20: branch_true: following 'true' branch...
fuse-3.18.1/lib/helper.c:281:25: branch_true: ...to here
fuse-3.18.1/lib/helper.c:281:25: throw: if 'perror' throws an exception...
fuse-3.18.1/lib/helper.c:281:25: danger: 'waiter[0]' leaks here
#  279|   
#  280|   		if (setsid() == -1) {
#  281|-> 			perror("fuse_daemonize: setsid");
#  282|   			return -1;
#  283|   		}

Error: GCC_ANALYZER_WARNING (CWE-775): [#def125]
fuse-3.18.1/lib/helper.c:281:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[1]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:280:20: branch_true: following 'true' branch...
fuse-3.18.1/lib/helper.c:281:25: branch_true: ...to here
fuse-3.18.1/lib/helper.c:281:25: throw: if 'perror' throws an exception...
fuse-3.18.1/lib/helper.c:281:25: danger: 'waiter[1]' leaks here
#  279|   
#  280|   		if (setsid() == -1) {
#  281|-> 			perror("fuse_daemonize: setsid");
#  282|   			return -1;
#  283|   		}

Error: GCC_ANALYZER_WARNING (CWE-775): [#def126]
fuse-3.18.1/lib/helper.c:287:26: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[0]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:280:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:285:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:287:26: throw: if 'open' throws an exception...
fuse-3.18.1/lib/helper.c:287:26: danger: 'waiter[0]' leaks here
#  285|   		(void) chdir("/");
#  286|   
#  287|-> 		nullfd = open("/dev/null", O_RDWR, 0);
#  288|   		if (nullfd != -1) {
#  289|   			(void) dup2(nullfd, 0);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def127]
fuse-3.18.1/lib/helper.c:287:26: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[1]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:280:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:285:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:287:26: throw: if 'open' throws an exception...
fuse-3.18.1/lib/helper.c:287:26: danger: 'waiter[1]' leaks here
#  285|   		(void) chdir("/");
#  286|   
#  287|-> 		nullfd = open("/dev/null", O_RDWR, 0);
#  288|   		if (nullfd != -1) {
#  289|   			(void) dup2(nullfd, 0);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def128]
fuse-3.18.1/lib/helper.c:293:33: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[0]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:280:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:285:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:288:20: branch_true: following 'true' branch...
fuse-3.18.1/lib/helper.c:289:32: branch_true: ...to here
fuse-3.18.1/lib/helper.c:292:28: branch_true: following 'true' branch...
fuse-3.18.1/lib/helper.c:293:33: branch_true: ...to here
fuse-3.18.1/lib/helper.c:293:33: throw: if 'close' throws an exception...
fuse-3.18.1/lib/helper.c:293:33: danger: 'waiter[0]' leaks here
#  291|   			(void) dup2(nullfd, 2);
#  292|   			if (nullfd > 2)
#  293|-> 				close(nullfd);
#  294|   		}
#  295|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def129]
fuse-3.18.1/lib/helper.c:293:33: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[1]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:280:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:285:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:288:20: branch_true: following 'true' branch...
fuse-3.18.1/lib/helper.c:289:32: branch_true: ...to here
fuse-3.18.1/lib/helper.c:292:28: branch_true: following 'true' branch...
fuse-3.18.1/lib/helper.c:293:33: branch_true: ...to here
fuse-3.18.1/lib/helper.c:293:33: throw: if 'close' throws an exception...
fuse-3.18.1/lib/helper.c:293:33: danger: 'waiter[1]' leaks here
#  291|   			(void) dup2(nullfd, 2);
#  292|   			if (nullfd > 2)
#  293|-> 				close(nullfd);
#  294|   		}
#  295|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def130]
fuse-3.18.1/lib/helper.c:298:24: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[0]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:280:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:285:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:298:24: throw: if 'write' throws an exception...
fuse-3.18.1/lib/helper.c:298:24: danger: 'waiter[0]' leaks here
#  296|   		/* Propagate completion of daemon initialization */
#  297|   		completed = 1;
#  298|-> 		(void) write(waiter[1], &completed, sizeof(completed));
#  299|   		close(waiter[0]);
#  300|   		close(waiter[1]);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def131]
fuse-3.18.1/lib/helper.c:298:24: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[1]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:280:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:285:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:298:24: throw: if 'write' throws an exception...
fuse-3.18.1/lib/helper.c:298:24: danger: 'waiter[1]' leaks here
#  296|   		/* Propagate completion of daemon initialization */
#  297|   		completed = 1;
#  298|-> 		(void) write(waiter[1], &completed, sizeof(completed));
#  299|   		close(waiter[0]);
#  300|   		close(waiter[1]);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def132]
fuse-3.18.1/lib/helper.c:299:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[0]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:280:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:285:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:299:17: throw: if 'close' throws an exception...
fuse-3.18.1/lib/helper.c:299:17: danger: 'waiter[0]' leaks here
#  297|   		completed = 1;
#  298|   		(void) write(waiter[1], &completed, sizeof(completed));
#  299|-> 		close(waiter[0]);
#  300|   		close(waiter[1]);
#  301|   	} else {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def133]
fuse-3.18.1/lib/helper.c:299:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[1]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:280:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:285:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:299:17: throw: if 'close' throws an exception...
fuse-3.18.1/lib/helper.c:299:17: danger: 'waiter[1]' leaks here
#  297|   		completed = 1;
#  298|   		(void) write(waiter[1], &completed, sizeof(completed));
#  299|-> 		close(waiter[0]);
#  300|   		close(waiter[1]);
#  301|   	} else {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def134]
fuse-3.18.1/lib/helper.c:300:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'waiter[1]'
fuse-3.18.1/lib/helper.c:260:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:269:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:280:20: branch_false: following 'false' branch...
fuse-3.18.1/lib/helper.c:285:24: branch_false: ...to here
fuse-3.18.1/lib/helper.c:300:17: throw: if 'close' throws an exception...
fuse-3.18.1/lib/helper.c:300:17: danger: 'waiter[1]' leaks here
#  298|   		(void) write(waiter[1], &completed, sizeof(completed));
#  299|   		close(waiter[0]);
#  300|-> 		close(waiter[1]);
#  301|   	} else {
#  302|   		(void) chdir("/");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def135]
fuse-3.18.1/lib/helper.c:475:12: warning[-Wanalyzer-malloc-leak]: leak of 'opts'
fuse-3.18.1/lib/helper.c:470:16: acquire_memory: allocated here
fuse-3.18.1/lib/helper.c:471:11: branch_false: following 'false' branch (when 'opts' is non-NULL)...
fuse-3.18.1/lib/helper.c:475:12: branch_false: ...to here
fuse-3.18.1/lib/helper.c:475:12: throw: if 'fuse_opt_parse' throws an exception...
fuse-3.18.1/lib/helper.c:475:12: danger: 'opts' leaks here; was allocated at [(1)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/0)
#  473|   		return NULL;
#  474|   	}
#  475|-> 	if(fuse_opt_parse(args, opts, conn_info_opt_spec, NULL) == -1) {
#  476|   		free(opts);
#  477|   		return NULL;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def136]
fuse-3.18.1/lib/modules/iconv.c:68:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/iconv.c:572:12: enter_function: entry to 'iconv_statx'
fuse-3.18.1/lib/modules/iconv.c:577:19: call_function: calling 'iconv_convpath' from 'iconv_statx'
#   66|   	pthread_mutex_lock(&ic->lock);
#   67|   	do {
#   68|-> 		res = iconv(fromfs ? ic->fromfs : ic->tofs, (char **) &path,
#   69|   			    &pathlen, &p, &plen);
#   70|   		if (res == (size_t) -1) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def137]
fuse-3.18.1/lib/modules/iconv.c:68:23: warning[-Wanalyzer-malloc-leak]: leak of 'p'
fuse-3.18.1/lib/modules/iconv.c:572:12: enter_function: entry to 'iconv_statx'
fuse-3.18.1/lib/modules/iconv.c:577:19: call_function: calling 'iconv_convpath' from 'iconv_statx'
#   66|   	pthread_mutex_lock(&ic->lock);
#   67|   	do {
#   68|-> 		res = iconv(fromfs ? ic->fromfs : ic->tofs, (char **) &path,
#   69|   			    &pathlen, &p, &plen);
#   70|   		if (res == (size_t) -1) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def138]
fuse-3.18.1/lib/modules/iconv.c:668:17: warning[-Wanalyzer-malloc-leak]: leak of 'charmap'
fuse-3.18.1/lib/modules/iconv.c:664:19: acquire_memory: allocated here
fuse-3.18.1/lib/modules/iconv.c:665:12: branch_false: following 'false' branch (when 'old' is NULL)...
fuse-3.18.1/lib/modules/iconv.c:668:17: branch_false: ...to here
fuse-3.18.1/lib/modules/iconv.c:668:17: throw: if 'perror' throws an exception...
fuse-3.18.1/lib/modules/iconv.c:668:17: danger: 'charmap' leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  666|   		setlocale(LC_CTYPE, old);
#  667|   	else
#  668|-> 		perror("setlocale");
#  669|   
#  670|   	printf(

Error: CPPCHECK_WARNING (CWE-476): [#def139]
fuse-3.18.1/lib/modules/iconv.c:673: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: charmap
#  671|   "    -o from_code=CHARSET   original encoding of file names (default: UTF-8)\n"
#  672|   "    -o to_code=CHARSET     new encoding of the file names (default: %s)\n",
#  673|-> 		charmap);
#  674|   	free(charmap);
#  675|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def140]
fuse-3.18.1/lib/modules/iconv.c:705:13: warning[-Wanalyzer-malloc-leak]: leak of 'ic'
fuse-3.18.1/lib/modules/iconv.c:699:14: acquire_memory: allocated here
fuse-3.18.1/lib/modules/iconv.c:700:12: branch_false: following 'false' branch (when 'ic' is non-NULL)...
fuse-3.18.1/lib/modules/iconv.c:705:13: branch_false: ...to here
fuse-3.18.1/lib/modules/iconv.c:705:13: throw: if 'fuse_opt_parse' throws an exception...
fuse-3.18.1/lib/modules/iconv.c:705:13: danger: 'ic' leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  703|   	}
#  704|   
#  705|-> 	if (fuse_opt_parse(args, ic, iconv_opts, iconv_opt_proc) == -1)
#  706|   		goto out_free;
#  707|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def141]
fuse-3.18.1/lib/modules/subdir.c:72:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:66:12: enter_function: entry to 'subdir_access'
fuse-3.18.1/lib/modules/subdir.c:70:19: call_function: calling 'subdir_addpath' from 'subdir_access'
fuse-3.18.1/lib/modules/subdir.c:70:19: return_function: returning to 'subdir_access' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:71:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:72:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:72:23: throw: if 'fuse_fs_access' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:72:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/5)
#   70|   	int err = subdir_addpath(d, path, &newpath);
#   71|   	if (!err) {
#   72|-> 		err = fuse_fs_access(d->next, newpath, mask);
#   73|   		free(newpath);
#   74|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def142]
fuse-3.18.1/lib/modules/subdir.c:148:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:142:12: enter_function: entry to 'subdir_readlink'
fuse-3.18.1/lib/modules/subdir.c:146:19: call_function: calling 'subdir_addpath' from 'subdir_readlink'
fuse-3.18.1/lib/modules/subdir.c:146:19: return_function: returning to 'subdir_readlink' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:147:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:148:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:148:23: throw: if 'fuse_fs_readlink' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:148:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/5)
#  146|   	int err = subdir_addpath(d, path, &newpath);
#  147|   	if (!err) {
#  148|-> 		err = fuse_fs_readlink(d->next, newpath, buf, size);
#  149|   		if (!err && d->rellinks)
#  150|   			transform_symlink(d, newpath, buf, size);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def143]
fuse-3.18.1/lib/modules/subdir.c:162:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:156:12: enter_function: entry to 'subdir_opendir'
fuse-3.18.1/lib/modules/subdir.c:160:19: call_function: calling 'subdir_addpath' from 'subdir_opendir'
fuse-3.18.1/lib/modules/subdir.c:160:19: return_function: returning to 'subdir_opendir' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:161:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:162:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:162:23: throw: if 'fuse_fs_opendir' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:162:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/5)
#  160|   	int err = subdir_addpath(d, path, &newpath);
#  161|   	if (!err) {
#  162|-> 		err = fuse_fs_opendir(d->next, newpath, fi);
#  163|   		free(newpath);
#  164|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def144]
fuse-3.18.1/lib/modules/subdir.c:177:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:168:12: enter_function: entry to 'subdir_readdir'
fuse-3.18.1/lib/modules/subdir.c:175:19: call_function: calling 'subdir_addpath' from 'subdir_readdir'
fuse-3.18.1/lib/modules/subdir.c:175:19: return_function: returning to 'subdir_readdir' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:176:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:177:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:177:23: throw: if 'fuse_fs_readdir' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:177:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/5)
#  175|   	int err = subdir_addpath(d, path, &newpath);
#  176|   	if (!err) {
#  177|-> 		err = fuse_fs_readdir(d->next, newpath, buf, filler, offset,
#  178|   				      fi, flags);
#  179|   		free(newpath);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def145]
fuse-3.18.1/lib/modules/subdir.c:190:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:184:12: enter_function: entry to 'subdir_releasedir'
fuse-3.18.1/lib/modules/subdir.c:188:19: call_function: calling 'subdir_addpath' from 'subdir_releasedir'
fuse-3.18.1/lib/modules/subdir.c:188:19: return_function: returning to 'subdir_releasedir' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:189:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:190:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:190:23: throw: if 'fuse_fs_releasedir' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:190:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/5)
#  188|   	int err = subdir_addpath(d, path, &newpath);
#  189|   	if (!err) {
#  190|-> 		err = fuse_fs_releasedir(d->next, newpath, fi);
#  191|   		free(newpath);
#  192|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def146]
fuse-3.18.1/lib/modules/subdir.c:202:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:196:12: enter_function: entry to 'subdir_mknod'
fuse-3.18.1/lib/modules/subdir.c:200:19: call_function: calling 'subdir_addpath' from 'subdir_mknod'
fuse-3.18.1/lib/modules/subdir.c:200:19: return_function: returning to 'subdir_mknod' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:201:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:202:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:202:23: throw: if 'fuse_fs_mknod' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:202:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/5)
#  200|   	int err = subdir_addpath(d, path, &newpath);
#  201|   	if (!err) {
#  202|-> 		err = fuse_fs_mknod(d->next, newpath, mode, rdev);
#  203|   		free(newpath);
#  204|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def147]
fuse-3.18.1/lib/modules/subdir.c:214:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:208:12: enter_function: entry to 'subdir_mkdir'
fuse-3.18.1/lib/modules/subdir.c:212:19: call_function: calling 'subdir_addpath' from 'subdir_mkdir'
fuse-3.18.1/lib/modules/subdir.c:212:19: return_function: returning to 'subdir_mkdir' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:213:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:214:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:214:23: throw: if 'fuse_fs_mkdir' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:214:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/5)
#  212|   	int err = subdir_addpath(d, path, &newpath);
#  213|   	if (!err) {
#  214|-> 		err = fuse_fs_mkdir(d->next, newpath, mode);
#  215|   		free(newpath);
#  216|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def148]
fuse-3.18.1/lib/modules/subdir.c:226:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:220:12: enter_function: entry to 'subdir_unlink'
fuse-3.18.1/lib/modules/subdir.c:224:19: call_function: calling 'subdir_addpath' from 'subdir_unlink'
fuse-3.18.1/lib/modules/subdir.c:224:19: return_function: returning to 'subdir_unlink' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:225:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:226:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:226:23: throw: if 'fuse_fs_unlink' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:226:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/5)
#  224|   	int err = subdir_addpath(d, path, &newpath);
#  225|   	if (!err) {
#  226|-> 		err = fuse_fs_unlink(d->next, newpath);
#  227|   		free(newpath);
#  228|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def149]
fuse-3.18.1/lib/modules/subdir.c:238:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:232:12: enter_function: entry to 'subdir_rmdir'
fuse-3.18.1/lib/modules/subdir.c:236:19: call_function: calling 'subdir_addpath' from 'subdir_rmdir'
fuse-3.18.1/lib/modules/subdir.c:236:19: return_function: returning to 'subdir_rmdir' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:237:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:238:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:238:23: throw: if 'fuse_fs_rmdir' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:238:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/5)
#  236|   	int err = subdir_addpath(d, path, &newpath);
#  237|   	if (!err) {
#  238|-> 		err = fuse_fs_rmdir(d->next, newpath);
#  239|   		free(newpath);
#  240|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def150]
fuse-3.18.1/lib/modules/subdir.c:250:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:244:12: enter_function: entry to 'subdir_symlink'
fuse-3.18.1/lib/modules/subdir.c:248:19: call_function: calling 'subdir_addpath' from 'subdir_symlink'
fuse-3.18.1/lib/modules/subdir.c:248:19: return_function: returning to 'subdir_symlink' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:249:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:250:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:250:23: throw: if 'fuse_fs_symlink' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:250:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/5)
#  248|   	int err = subdir_addpath(d, path, &newpath);
#  249|   	if (!err) {
#  250|-> 		err = fuse_fs_symlink(d->next, from, newpath);
#  251|   		free(newpath);
#  252|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def151]
fuse-3.18.1/lib/modules/subdir.c:265:31: warning[-Wanalyzer-malloc-leak]: leak of 'newfrom'
fuse-3.18.1/lib/modules/subdir.c:256:12: enter_function: entry to 'subdir_rename'
fuse-3.18.1/lib/modules/subdir.c:261:19: call_function: calling 'subdir_addpath' from 'subdir_rename'
fuse-3.18.1/lib/modules/subdir.c:261:19: return_function: returning to 'subdir_rename' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:262:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:263:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:263:23: call_function: calling 'subdir_addpath' from 'subdir_rename'
fuse-3.18.1/lib/modules/subdir.c:263:23: return_function: returning to 'subdir_rename' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:264:20: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:265:31: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:265:31: throw: if 'fuse_fs_rename' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:265:31: danger: 'newfrom' leaks here; was allocated at [(6)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/5)
#  263|   		err = subdir_addpath(d, to, &newto);
#  264|   		if (!err) {
#  265|-> 			err = fuse_fs_rename(d->next, newfrom, newto, flags);
#  266|   			free(newto);
#  267|   		}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def152]
fuse-3.18.1/lib/modules/subdir.c:265:31: warning[-Wanalyzer-malloc-leak]: leak of 'newto'
fuse-3.18.1/lib/modules/subdir.c:256:12: enter_function: entry to 'subdir_rename'
fuse-3.18.1/lib/modules/subdir.c:261:19: call_function: calling 'subdir_addpath' from 'subdir_rename'
fuse-3.18.1/lib/modules/subdir.c:261:19: return_function: returning to 'subdir_rename' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:262:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:263:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:263:23: call_function: calling 'subdir_addpath' from 'subdir_rename'
fuse-3.18.1/lib/modules/subdir.c:263:23: return_function: returning to 'subdir_rename' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:264:20: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:265:31: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:265:31: throw: if 'fuse_fs_rename' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:265:31: danger: 'newto' leaks here; was allocated at [(13)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/12)
#  263|   		err = subdir_addpath(d, to, &newto);
#  264|   		if (!err) {
#  265|-> 			err = fuse_fs_rename(d->next, newfrom, newto, flags);
#  266|   			free(newto);
#  267|   		}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def153]
fuse-3.18.1/lib/modules/subdir.c:282:31: warning[-Wanalyzer-malloc-leak]: leak of 'newfrom'
fuse-3.18.1/lib/modules/subdir.c:273:12: enter_function: entry to 'subdir_link'
fuse-3.18.1/lib/modules/subdir.c:278:19: call_function: calling 'subdir_addpath' from 'subdir_link'
fuse-3.18.1/lib/modules/subdir.c:278:19: return_function: returning to 'subdir_link' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:279:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:280:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:280:23: call_function: calling 'subdir_addpath' from 'subdir_link'
fuse-3.18.1/lib/modules/subdir.c:280:23: return_function: returning to 'subdir_link' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:281:20: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:282:31: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:282:31: throw: if 'fuse_fs_link' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:282:31: danger: 'newfrom' leaks here; was allocated at [(6)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/5)
#  280|   		err = subdir_addpath(d, to, &newto);
#  281|   		if (!err) {
#  282|-> 			err = fuse_fs_link(d->next, newfrom, newto);
#  283|   			free(newto);
#  284|   		}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def154]
fuse-3.18.1/lib/modules/subdir.c:282:31: warning[-Wanalyzer-malloc-leak]: leak of 'newto'
fuse-3.18.1/lib/modules/subdir.c:273:12: enter_function: entry to 'subdir_link'
fuse-3.18.1/lib/modules/subdir.c:278:19: call_function: calling 'subdir_addpath' from 'subdir_link'
fuse-3.18.1/lib/modules/subdir.c:278:19: return_function: returning to 'subdir_link' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:279:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:280:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:280:23: call_function: calling 'subdir_addpath' from 'subdir_link'
fuse-3.18.1/lib/modules/subdir.c:280:23: return_function: returning to 'subdir_link' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:281:20: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:282:31: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:282:31: throw: if 'fuse_fs_link' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:282:31: danger: 'newto' leaks here; was allocated at [(13)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/12)
#  280|   		err = subdir_addpath(d, to, &newto);
#  281|   		if (!err) {
#  282|-> 			err = fuse_fs_link(d->next, newfrom, newto);
#  283|   			free(newto);
#  284|   		}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def155]
fuse-3.18.1/lib/modules/subdir.c:297:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:290:12: enter_function: entry to 'subdir_chmod'
fuse-3.18.1/lib/modules/subdir.c:295:19: call_function: calling 'subdir_addpath' from 'subdir_chmod'
fuse-3.18.1/lib/modules/subdir.c:295:19: return_function: returning to 'subdir_chmod' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:296:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:297:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:297:23: throw: if 'fuse_fs_chmod' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:297:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/5)
#  295|   	int err = subdir_addpath(d, path, &newpath);
#  296|   	if (!err) {
#  297|-> 		err = fuse_fs_chmod(d->next, newpath, mode, fi);
#  298|   		free(newpath);
#  299|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def156]
fuse-3.18.1/lib/modules/subdir.c:310:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:303:12: enter_function: entry to 'subdir_chown'
fuse-3.18.1/lib/modules/subdir.c:308:19: call_function: calling 'subdir_addpath' from 'subdir_chown'
fuse-3.18.1/lib/modules/subdir.c:308:19: return_function: returning to 'subdir_chown' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:309:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:310:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:310:23: throw: if 'fuse_fs_chown' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:310:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/5)
#  308|   	int err = subdir_addpath(d, path, &newpath);
#  309|   	if (!err) {
#  310|-> 		err = fuse_fs_chown(d->next, newpath, uid, gid, fi);
#  311|   		free(newpath);
#  312|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def157]
fuse-3.18.1/lib/modules/subdir.c:323:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:316:12: enter_function: entry to 'subdir_truncate'
fuse-3.18.1/lib/modules/subdir.c:321:19: call_function: calling 'subdir_addpath' from 'subdir_truncate'
fuse-3.18.1/lib/modules/subdir.c:321:19: return_function: returning to 'subdir_truncate' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:322:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:323:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:323:23: throw: if 'fuse_fs_truncate' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:323:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/5)
#  321|   	int err = subdir_addpath(d, path, &newpath);
#  322|   	if (!err) {
#  323|-> 		err = fuse_fs_truncate(d->next, newpath, size, fi);
#  324|   		free(newpath);
#  325|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def158]
fuse-3.18.1/lib/modules/subdir.c:336:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:329:12: enter_function: entry to 'subdir_utimens'
fuse-3.18.1/lib/modules/subdir.c:334:19: call_function: calling 'subdir_addpath' from 'subdir_utimens'
fuse-3.18.1/lib/modules/subdir.c:334:19: return_function: returning to 'subdir_utimens' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:335:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:336:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:336:23: throw: if 'fuse_fs_utimens' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:336:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/5)
#  334|   	int err = subdir_addpath(d, path, &newpath);
#  335|   	if (!err) {
#  336|-> 		err = fuse_fs_utimens(d->next, newpath, ts, fi);
#  337|   		free(newpath);
#  338|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def159]
fuse-3.18.1/lib/modules/subdir.c:349:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:342:12: enter_function: entry to 'subdir_create'
fuse-3.18.1/lib/modules/subdir.c:347:19: call_function: calling 'subdir_addpath' from 'subdir_create'
fuse-3.18.1/lib/modules/subdir.c:347:19: return_function: returning to 'subdir_create' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:348:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:349:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:349:23: throw: if 'fuse_fs_create' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:349:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/5)
#  347|   	int err = subdir_addpath(d, path, &newpath);
#  348|   	if (!err) {
#  349|-> 		err = fuse_fs_create(d->next, newpath, mode, fi);
#  350|   		free(newpath);
#  351|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def160]
fuse-3.18.1/lib/modules/subdir.c:361:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:355:12: enter_function: entry to 'subdir_open'
fuse-3.18.1/lib/modules/subdir.c:359:19: call_function: calling 'subdir_addpath' from 'subdir_open'
fuse-3.18.1/lib/modules/subdir.c:359:19: return_function: returning to 'subdir_open' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:360:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:361:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:361:23: throw: if 'fuse_fs_open' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:361:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/5)
#  359|   	int err = subdir_addpath(d, path, &newpath);
#  360|   	if (!err) {
#  361|-> 		err = fuse_fs_open(d->next, newpath, fi);
#  362|   		free(newpath);
#  363|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def161]
fuse-3.18.1/lib/modules/subdir.c:374:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:367:12: enter_function: entry to 'subdir_read_buf'
fuse-3.18.1/lib/modules/subdir.c:372:19: call_function: calling 'subdir_addpath' from 'subdir_read_buf'
fuse-3.18.1/lib/modules/subdir.c:372:19: return_function: returning to 'subdir_read_buf' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:373:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:374:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:374:23: throw: if 'fuse_fs_read_buf' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:374:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/5)
#  372|   	int err = subdir_addpath(d, path, &newpath);
#  373|   	if (!err) {
#  374|-> 		err = fuse_fs_read_buf(d->next, newpath, bufp, size, offset, fi);
#  375|   		free(newpath);
#  376|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def162]
fuse-3.18.1/lib/modules/subdir.c:387:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:380:12: enter_function: entry to 'subdir_write_buf'
fuse-3.18.1/lib/modules/subdir.c:385:19: call_function: calling 'subdir_addpath' from 'subdir_write_buf'
fuse-3.18.1/lib/modules/subdir.c:385:19: return_function: returning to 'subdir_write_buf' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:386:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:387:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:387:23: throw: if 'fuse_fs_write_buf' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:387:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/5)
#  385|   	int err = subdir_addpath(d, path, &newpath);
#  386|   	if (!err) {
#  387|-> 		err = fuse_fs_write_buf(d->next, newpath, buf, offset, fi);
#  388|   		free(newpath);
#  389|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def163]
fuse-3.18.1/lib/modules/subdir.c:399:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:393:12: enter_function: entry to 'subdir_statfs'
fuse-3.18.1/lib/modules/subdir.c:397:19: call_function: calling 'subdir_addpath' from 'subdir_statfs'
fuse-3.18.1/lib/modules/subdir.c:397:19: return_function: returning to 'subdir_statfs' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:398:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:399:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:399:23: throw: if 'fuse_fs_statfs' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:399:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/5)
#  397|   	int err = subdir_addpath(d, path, &newpath);
#  398|   	if (!err) {
#  399|-> 		err = fuse_fs_statfs(d->next, newpath, stbuf);
#  400|   		free(newpath);
#  401|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def164]
fuse-3.18.1/lib/modules/subdir.c:411:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:405:12: enter_function: entry to 'subdir_flush'
fuse-3.18.1/lib/modules/subdir.c:409:19: call_function: calling 'subdir_addpath' from 'subdir_flush'
fuse-3.18.1/lib/modules/subdir.c:409:19: return_function: returning to 'subdir_flush' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:410:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:411:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:411:23: throw: if 'fuse_fs_flush' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:411:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/5)
#  409|   	int err = subdir_addpath(d, path, &newpath);
#  410|   	if (!err) {
#  411|-> 		err = fuse_fs_flush(d->next, newpath, fi);
#  412|   		free(newpath);
#  413|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def165]
fuse-3.18.1/lib/modules/subdir.c:423:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:417:12: enter_function: entry to 'subdir_release'
fuse-3.18.1/lib/modules/subdir.c:421:19: call_function: calling 'subdir_addpath' from 'subdir_release'
fuse-3.18.1/lib/modules/subdir.c:421:19: return_function: returning to 'subdir_release' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:422:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:423:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:423:23: throw: if 'fuse_fs_release' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:423:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/5)
#  421|   	int err = subdir_addpath(d, path, &newpath);
#  422|   	if (!err) {
#  423|-> 		err = fuse_fs_release(d->next, newpath, fi);
#  424|   		free(newpath);
#  425|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def166]
fuse-3.18.1/lib/modules/subdir.c:436:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:429:12: enter_function: entry to 'subdir_fsync'
fuse-3.18.1/lib/modules/subdir.c:434:19: call_function: calling 'subdir_addpath' from 'subdir_fsync'
fuse-3.18.1/lib/modules/subdir.c:434:19: return_function: returning to 'subdir_fsync' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:435:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:436:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:436:23: throw: if 'fuse_fs_fsync' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:436:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/5)
#  434|   	int err = subdir_addpath(d, path, &newpath);
#  435|   	if (!err) {
#  436|-> 		err = fuse_fs_fsync(d->next, newpath, isdatasync, fi);
#  437|   		free(newpath);
#  438|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def167]
fuse-3.18.1/lib/modules/subdir.c:449:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:442:12: enter_function: entry to 'subdir_fsyncdir'
fuse-3.18.1/lib/modules/subdir.c:447:19: call_function: calling 'subdir_addpath' from 'subdir_fsyncdir'
fuse-3.18.1/lib/modules/subdir.c:447:19: return_function: returning to 'subdir_fsyncdir' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:448:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:449:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:449:23: throw: if 'fuse_fs_fsyncdir' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:449:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/5)
#  447|   	int err = subdir_addpath(d, path, &newpath);
#  448|   	if (!err) {
#  449|-> 		err = fuse_fs_fsyncdir(d->next, newpath, isdatasync, fi);
#  450|   		free(newpath);
#  451|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def168]
fuse-3.18.1/lib/modules/subdir.c:462:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:455:12: enter_function: entry to 'subdir_setxattr'
fuse-3.18.1/lib/modules/subdir.c:460:19: call_function: calling 'subdir_addpath' from 'subdir_setxattr'
fuse-3.18.1/lib/modules/subdir.c:460:19: return_function: returning to 'subdir_setxattr' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:461:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:462:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:462:23: throw: if 'fuse_fs_setxattr' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:462:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/27/codeFlows/0/threadFlows/0/locations/5)
#  460|   	int err = subdir_addpath(d, path, &newpath);
#  461|   	if (!err) {
#  462|-> 		err = fuse_fs_setxattr(d->next, newpath, name, value, size,
#  463|   				       flags);
#  464|   		free(newpath);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def169]
fuse-3.18.1/lib/modules/subdir.c:476:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:469:12: enter_function: entry to 'subdir_getxattr'
fuse-3.18.1/lib/modules/subdir.c:474:19: call_function: calling 'subdir_addpath' from 'subdir_getxattr'
fuse-3.18.1/lib/modules/subdir.c:474:19: return_function: returning to 'subdir_getxattr' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:475:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:476:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:476:23: throw: if 'fuse_fs_getxattr' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:476:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/28/codeFlows/0/threadFlows/0/locations/5)
#  474|   	int err = subdir_addpath(d, path, &newpath);
#  475|   	if (!err) {
#  476|-> 		err = fuse_fs_getxattr(d->next, newpath, name, value, size);
#  477|   		free(newpath);
#  478|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def170]
fuse-3.18.1/lib/modules/subdir.c:488:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:482:12: enter_function: entry to 'subdir_listxattr'
fuse-3.18.1/lib/modules/subdir.c:486:19: call_function: calling 'subdir_addpath' from 'subdir_listxattr'
fuse-3.18.1/lib/modules/subdir.c:486:19: return_function: returning to 'subdir_listxattr' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:487:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:488:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:488:23: throw: if 'fuse_fs_listxattr' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:488:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/29/codeFlows/0/threadFlows/0/locations/5)
#  486|   	int err = subdir_addpath(d, path, &newpath);
#  487|   	if (!err) {
#  488|-> 		err = fuse_fs_listxattr(d->next, newpath, list, size);
#  489|   		free(newpath);
#  490|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def171]
fuse-3.18.1/lib/modules/subdir.c:500:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:494:12: enter_function: entry to 'subdir_removexattr'
fuse-3.18.1/lib/modules/subdir.c:498:19: call_function: calling 'subdir_addpath' from 'subdir_removexattr'
fuse-3.18.1/lib/modules/subdir.c:498:19: return_function: returning to 'subdir_removexattr' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:499:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:500:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:500:23: throw: if 'fuse_fs_removexattr' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:500:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/5)
#  498|   	int err = subdir_addpath(d, path, &newpath);
#  499|   	if (!err) {
#  500|-> 		err = fuse_fs_removexattr(d->next, newpath, name);
#  501|   		free(newpath);
#  502|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def172]
fuse-3.18.1/lib/modules/subdir.c:513:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:506:12: enter_function: entry to 'subdir_lock'
fuse-3.18.1/lib/modules/subdir.c:511:19: call_function: calling 'subdir_addpath' from 'subdir_lock'
fuse-3.18.1/lib/modules/subdir.c:511:19: return_function: returning to 'subdir_lock' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:512:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:513:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:513:23: throw: if 'fuse_fs_lock' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:513:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/31/codeFlows/0/threadFlows/0/locations/5)
#  511|   	int err = subdir_addpath(d, path, &newpath);
#  512|   	if (!err) {
#  513|-> 		err = fuse_fs_lock(d->next, newpath, fi, cmd, lock);
#  514|   		free(newpath);
#  515|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def173]
fuse-3.18.1/lib/modules/subdir.c:525:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:519:12: enter_function: entry to 'subdir_flock'
fuse-3.18.1/lib/modules/subdir.c:523:19: call_function: calling 'subdir_addpath' from 'subdir_flock'
fuse-3.18.1/lib/modules/subdir.c:523:19: return_function: returning to 'subdir_flock' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:524:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:525:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:525:23: throw: if 'fuse_fs_flock' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:525:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/32/codeFlows/0/threadFlows/0/locations/5)
#  523|   	int err = subdir_addpath(d, path, &newpath);
#  524|   	if (!err) {
#  525|-> 		err = fuse_fs_flock(d->next, newpath, fi, op);
#  526|   		free(newpath);
#  527|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def174]
fuse-3.18.1/lib/modules/subdir.c:537:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:531:12: enter_function: entry to 'subdir_bmap'
fuse-3.18.1/lib/modules/subdir.c:535:19: call_function: calling 'subdir_addpath' from 'subdir_bmap'
fuse-3.18.1/lib/modules/subdir.c:535:19: return_function: returning to 'subdir_bmap' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:536:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:537:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:537:23: throw: if 'fuse_fs_bmap' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:537:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/33/codeFlows/0/threadFlows/0/locations/5)
#  535|   	int err = subdir_addpath(d, path, &newpath);
#  536|   	if (!err) {
#  537|-> 		err = fuse_fs_bmap(d->next, newpath, blocksize, idx);
#  538|   		free(newpath);
#  539|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def175]
fuse-3.18.1/lib/modules/subdir.c:550:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:543:14: enter_function: entry to 'subdir_lseek'
fuse-3.18.1/lib/modules/subdir.c:548:19: call_function: calling 'subdir_addpath' from 'subdir_lseek'
fuse-3.18.1/lib/modules/subdir.c:548:19: return_function: returning to 'subdir_lseek' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:549:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:550:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:550:23: throw: if 'fuse_fs_lseek' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:550:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/34/codeFlows/0/threadFlows/0/locations/5)
#  548|   	int res = subdir_addpath(ic, path, &newpath);
#  549|   	if (!res) {
#  550|-> 		res = fuse_fs_lseek(ic->next, newpath, off, whence, fi);
#  551|   		free(newpath);
#  552|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def176]
fuse-3.18.1/lib/modules/subdir.c:565:23: warning[-Wanalyzer-malloc-leak]: leak of 'newpath'
fuse-3.18.1/lib/modules/subdir.c:557:12: enter_function: entry to 'subdir_statx'
fuse-3.18.1/lib/modules/subdir.c:562:19: call_function: calling 'subdir_addpath' from 'subdir_statx'
fuse-3.18.1/lib/modules/subdir.c:562:19: return_function: returning to 'subdir_statx' from 'subdir_addpath'
fuse-3.18.1/lib/modules/subdir.c:564:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/modules/subdir.c:565:23: branch_true: ...to here
fuse-3.18.1/lib/modules/subdir.c:565:23: throw: if 'fuse_fs_statx' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:565:23: danger: 'newpath' leaks here; was allocated at [(6)](sarif:/runs/0/results/35/codeFlows/0/threadFlows/0/locations/5)
#  563|   
#  564|   	if (!res) {
#  565|-> 		res = fuse_fs_statx(ic->next, newpath, flags, mask, stxbuf, fi);
#  566|   		free(newpath);
#  567|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def177]
fuse-3.18.1/lib/modules/subdir.c:673:13: warning[-Wanalyzer-malloc-leak]: leak of 'd'
fuse-3.18.1/lib/modules/subdir.c:667:13: acquire_memory: allocated here
fuse-3.18.1/lib/modules/subdir.c:668:12: branch_false: following 'false' branch (when 'd' is non-NULL)...
fuse-3.18.1/lib/modules/subdir.c:673:13: branch_false: ...to here
fuse-3.18.1/lib/modules/subdir.c:673:13: throw: if 'fuse_opt_parse' throws an exception...
fuse-3.18.1/lib/modules/subdir.c:673:13: danger: 'd' leaks here; was allocated at [(1)](sarif:/runs/0/results/36/codeFlows/0/threadFlows/0/locations/0)
#  671|   	}
#  672|   
#  673|-> 	if (fuse_opt_parse(args, d, subdir_opts, subdir_opt_proc) == -1)
#  674|   		goto out_free;
#  675|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def178]
fuse-3.18.1/lib/mount.c:297:13: warning[-Wanalyzer-null-dereference]: dereference of NULL 'cmsg'
fuse-3.18.1/lib/mount.c:287:12: branch_false: following 'false' branch (when 'rv != -1')...
fuse-3.18.1/lib/mount.c:291:11: branch_false: ...to here
fuse-3.18.1/lib/mount.c:291:11: branch_false: following 'false' branch (when 'rv != 0')...
fuse-3.18.1/lib/mount.c:296:16: branch_false: ...to here
fuse-3.18.1/lib/mount.c:296:16: branch_false: following 'false' branch...
fuse-3.18.1/lib/mount.c:297:13: branch_false: ...to here
fuse-3.18.1/lib/mount.c:297:13: danger: dereference of NULL 'cmsg'
#  295|   
#  296|   	cmsg = CMSG_FIRSTHDR(&msg);
#  297|-> 	if (cmsg->cmsg_type != SCM_RIGHTS) {
#  298|   		fuse_log(FUSE_LOG_ERR, "got control message of unknown type %d\n",
#  299|   			cmsg->cmsg_type);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def179]
fuse-3.18.1/lib/mount.c:555:17: warning[-Wanalyzer-malloc-leak]: leak of 'source'
fuse-3.18.1/lib/mount.c:516:12: branch_false: following 'false' branch (when 'mnt' is non-NULL)...
fuse-3.18.1/lib/mount.c:521:15: branch_false: ...to here
fuse-3.18.1/lib/mount.c:522:12: branch_false: following 'false' branch (when 'res != -1')...
fuse-3.18.1/lib/mount.c:528:14: branch_false: ...to here
fuse-3.18.1/lib/mount.c:529:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/mount.c:542:9: branch_false: ...to here
fuse-3.18.1/lib/mount.c:546:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/mount.c:549:26: branch_false: ...to here
fuse-3.18.1/lib/mount.c:549:18: acquire_memory: allocated here
fuse-3.18.1/lib/mount.c:554:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/mount.c:555:17: branch_true: ...to here
fuse-3.18.1/lib/mount.c:555:17: throw: if 'fuse_log' throws an exception...
fuse-3.18.1/lib/mount.c:555:17: danger: 'source' leaks here; was allocated at [(9)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/8)
#  553|   	type = malloc((mo->subtype ? strlen(mo->subtype) : 0) + 32);
#  554|   	if (!type || !source) {
#  555|-> 		fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate memory\n");
#  556|   		goto out_close;
#  557|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def180]
fuse-3.18.1/lib/mount.c:555:17: warning[-Wanalyzer-malloc-leak]: leak of 'type'
fuse-3.18.1/lib/mount.c:516:12: branch_false: following 'false' branch (when 'mnt' is non-NULL)...
fuse-3.18.1/lib/mount.c:521:15: branch_false: ...to here
fuse-3.18.1/lib/mount.c:522:12: branch_false: following 'false' branch (when 'res != -1')...
fuse-3.18.1/lib/mount.c:528:14: branch_false: ...to here
fuse-3.18.1/lib/mount.c:529:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/mount.c:542:9: branch_false: ...to here
fuse-3.18.1/lib/mount.c:546:12: branch_false: following 'false' branch...
fuse-3.18.1/lib/mount.c:549:26: branch_false: ...to here
fuse-3.18.1/lib/mount.c:553:16: acquire_memory: allocated here
fuse-3.18.1/lib/mount.c:554:12: branch_true: following 'true' branch...
fuse-3.18.1/lib/mount.c:555:17: branch_true: ...to here
fuse-3.18.1/lib/mount.c:555:17: throw: if 'fuse_log' throws an exception...
fuse-3.18.1/lib/mount.c:555:17: danger: 'type' leaks here; was allocated at [(9)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/8)
#  553|   	type = malloc((mo->subtype ? strlen(mo->subtype) : 0) + 32);
#  554|   	if (!type || !source) {
#  555|-> 		fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate memory\n");
#  556|   		goto out_close;
#  557|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def181]
fuse-3.18.1/lib/mount.c:656:13: warning[-Wanalyzer-malloc-leak]: leak of 'mo'
fuse-3.18.1/lib/mount.c:648:35: acquire_memory: allocated here
fuse-3.18.1/lib/mount.c:649:12: branch_false: following 'false' branch (when 'mo' is non-NULL)...
fuse-3.18.1/lib/mount.c:652:9: branch_false: ...to here
fuse-3.18.1/lib/mount.c:655:12: branch_true: following 'true' branch (when 'args' is non-NULL)...
fuse-3.18.1/lib/mount.c:656:13: branch_true: ...to here
fuse-3.18.1/lib/mount.c:656:13: throw: if 'fuse_opt_parse' throws an exception...
fuse-3.18.1/lib/mount.c:656:13: danger: 'mo' leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  654|   
#  655|   	if (args &&
#  656|-> 	    fuse_opt_parse(args, mo, fuse_mount_opts, fuse_mount_opt_proc) == -1)
#  657|   		goto err_out;
#  658|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def182]
fuse-3.18.1/test/readdir_inode.c:31:12: warning[-Wanalyzer-malloc-leak]: leak of 'opendir(argv[1])'
fuse-3.18.1/test/readdir_inode.c:19:8: branch_false: following 'false' branch (when 'argc == 2')...
fuse-3.18.1/test/readdir_inode.c:24:12: branch_false: ...to here
fuse-3.18.1/test/readdir_inode.c:24:12: acquire_memory: allocated here
fuse-3.18.1/test/readdir_inode.c:25:8: branch_false: following 'false' branch...
fuse-3.18.1/test/readdir_inode.c:30:5: branch_false: ...to here
fuse-3.18.1/test/readdir_inode.c:31:12: throw: if 'readdir' throws an exception...
fuse-3.18.1/test/readdir_inode.c:31:12: danger: 'opendir(argv[1])' leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   29|   
#   30|       errno = 0;
#   31|->     dent = readdir(dirp);
#   32|       while (dent != NULL) {
#   33|           if (strcmp(dent->d_name, ".") != 0 && strcmp(dent->d_name, "..") != 0) {

Error: GCC_ANALYZER_WARNING (CWE-688): [#def183]
fuse-3.18.1/test/test_signals.c:159:9: warning[-Wanalyzer-null-argument]: use of NULL 'mountpoint' where non-null expected
fuse-3.18.1/test/test_signals.c:73:12: branch_true: following 'true' branch...
fuse-3.18.1/test/test_signals.c:74:17: branch_true: ...to here
fuse-3.18.1/test/test_signals.c:159:9: danger: argument 1 ('mountpoint') NULL where non-null expected
#  157|   	fuse_session_destroy(se);
#  158|   out_free_mountpoint:
#  159|-> 	rmdir(mountpoint);
#  160|   	free(mountpoint);
#  161|   out_free_args:

Error: GCC_ANALYZER_WARNING (CWE-401): [#def184]
fuse-3.18.1/test/test_syscalls.c:419:22: warning[-Wanalyzer-malloc-leak]: leak of 'opendir(path)'
fuse-3.18.1/test/test_syscalls.c:1873:12: enter_function: entry to 'test_mkdir'
fuse-3.18.1/test/test_syscalls.c:1879:9: branch_false: following 'false' branch...
fuse-3.18.1/test/test_syscalls.c:1879:9: branch_false: ...to here
fuse-3.18.1/test/test_syscalls.c:1879:9: call_function: calling '__start_test' from 'test_mkdir'
fuse-3.18.1/test/test_syscalls.c:1879:9: return_function: returning to 'test_mkdir' from '__start_test'
fuse-3.18.1/test/test_syscalls.c:1882:12: branch_false: following 'false' branch (when 'res != -1')...
fuse-3.18.1/test/test_syscalls.c:1886:15: branch_false: ...to here
fuse-3.18.1/test/test_syscalls.c:1887:12: branch_false: following 'false' branch...
fuse-3.18.1/test/test_syscalls.c:1889:16: branch_false: ...to here
fuse-3.18.1/test/test_syscalls.c:1893:16: call_function: calling 'check_dir_contents' from 'test_mkdir'
#  417|   		struct dirent *de;
#  418|   		errno = 0;
#  419|-> 		de = readdir(dp);
#  420|   		if (de == NULL) {
#  421|   			if (errno) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def185]
fuse-3.18.1/test/test_syscalls.c:476:23: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'creat(path, 420)'
fuse-3.18.1/test/test_syscalls.c:1151:12: enter_function: entry to 'do_test_open'
fuse-3.18.1/test/test_syscalls.c:1162:9: branch_false: following 'false' branch...
fuse-3.18.1/test/test_syscalls.c:1162:9: branch_false: ...to here
fuse-3.18.1/test/test_syscalls.c:1162:9: call_function: calling '__start_test' from 'do_test_open'
fuse-3.18.1/test/test_syscalls.c:1162:9: return_function: returning to 'do_test_open' from '__start_test'
fuse-3.18.1/test/test_syscalls.c:1164:12: branch_true: following 'true' branch (when 'exist != 0')...
fuse-3.18.1/test/test_syscalls.c:1165:23: branch_true: ...to here
fuse-3.18.1/test/test_syscalls.c:1165:23: call_function: calling 'create_file' from 'do_test_open'
#  474|   	}
#  475|   	if (len) {
#  476|-> 		res = write(fd, data, len);
#  477|   		if (res == -1) {
#  478|   			PERROR("write");

Error: GCC_ANALYZER_WARNING (CWE-775): [#def186]
fuse-3.18.1/test/test_syscalls.c:488:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'creat(path, 420)'
fuse-3.18.1/test/test_syscalls.c:1151:12: enter_function: entry to 'do_test_open'
fuse-3.18.1/test/test_syscalls.c:1162:9: branch_false: following 'false' branch...
fuse-3.18.1/test/test_syscalls.c:1162:9: branch_false: ...to here
fuse-3.18.1/test/test_syscalls.c:1162:9: call_function: calling '__start_test' from 'do_test_open'
fuse-3.18.1/test/test_syscalls.c:1162:9: return_function: returning to 'do_test_open' from '__start_test'
fuse-3.18.1/test/test_syscalls.c:1164:12: branch_true: following 'true' branch (when 'exist != 0')...
fuse-3.18.1/test/test_syscalls.c:1165:23: branch_true: ...to here
fuse-3.18.1/test/test_syscalls.c:1165:23: call_function: calling 'create_file' from 'do_test_open'
#  486|   		}
#  487|   	}
#  488|-> 	res = close(fd);
#  489|   	if (res == -1) {
#  490|   		PERROR("close");

Error: GCC_ANALYZER_WARNING (CWE-775): [#def187]
fuse-3.18.1/test/test_syscalls.c:865:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'creat(&testfile2, 420)'
fuse-3.18.1/test/test_syscalls.c:830:12: enter_function: entry to 'test_copy_file_range'
fuse-3.18.1/test/test_syscalls.c:839:9: branch_false: following 'false' branch...
fuse-3.18.1/test/test_syscalls.c:839:9: branch_false: ...to here
fuse-3.18.1/test/test_syscalls.c:839:9: call_function: calling '__start_test' from 'test_copy_file_range'
fuse-3.18.1/test/test_syscalls.c:839:9: return_function: returning to 'test_copy_file_range' from '__start_test'
fuse-3.18.1/test/test_syscalls.c:842:12: branch_false: following 'false' branch...
fuse-3.18.1/test/test_syscalls.c:846:15: branch_false: ...to here
fuse-3.18.1/test/test_syscalls.c:847:12: branch_false: following 'false' branch (when 'res != -1')...
fuse-3.18.1/test/test_syscalls.c:852:12: branch_false: ...to here
fuse-3.18.1/test/test_syscalls.c:852:12: branch_false: following 'false' branch (when 'datalen == res')...
fuse-3.18.1/test/test_syscalls.c:858:9: branch_false: ...to here
fuse-3.18.1/test/test_syscalls.c:859:18: acquire_resource: opened here
fuse-3.18.1/test/test_syscalls.c:860:12: branch_false: following 'false' branch...
fuse-3.18.1/test/test_syscalls.c:865:15: branch_false: ...to here
fuse-3.18.1/test/test_syscalls.c:865:15: throw: if 'copy_file_range' throws an exception...
fuse-3.18.1/test/test_syscalls.c:865:15: danger: 'creat(&testfile2, 420)' leaks here; was opened at [(15)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/14)
#  863|   		return -1;
#  864|   	}
#  865|-> 	res = copy_file_range(fd_in, &pos_in, fd_out, &pos_out, datalen, 0);
#  866|   	if (res == -1) {
#  867|   		PERROR("copy_file_range");

Error: GCC_ANALYZER_WARNING (CWE-775): [#def188]
fuse-3.18.1/test/test_syscalls.c:1023:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'creat(&testfile, 420)'
fuse-3.18.1/test/test_syscalls.c:1008:12: enter_function: entry to 'test_create'
fuse-3.18.1/test/test_syscalls.c:1016:9: branch_false: following 'false' branch...
fuse-3.18.1/test/test_syscalls.c:1016:9: branch_false: ...to here
fuse-3.18.1/test/test_syscalls.c:1016:9: call_function: calling '__start_test' from 'test_create'
fuse-3.18.1/test/test_syscalls.c:1016:9: return_function: returning to 'test_create' from '__start_test'
fuse-3.18.1/test/test_syscalls.c:1018:14: acquire_resource: opened here
fuse-3.18.1/test/test_syscalls.c:1019:12: branch_false: following 'false' branch...
fuse-3.18.1/test/test_syscalls.c:1023:15: branch_false: ...to here
fuse-3.18.1/test/test_syscalls.c:1023:15: throw: if 'write' throws an exception...
fuse-3.18.1/test/test_syscalls.c:1023:15: danger: 'creat(&testfile, 420)' leaks here; was opened at [(9)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/8)
# 1021|   		return -1;
# 1022|   	}
# 1023|-> 	res = write(fd, data, datalen);
# 1024|   	if (res == -1) {
# 1025|   		PERROR("write");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def189]
fuse-3.18.1/test/test_write_cache.c:230:9: warning[-Wanalyzer-malloc-leak]: leak of 'buf'
fuse-3.18.1/test/test_write_cache.c:228:15: acquire_memory: allocated here
fuse-3.18.1/test/test_write_cache.c:229:9: branch_true: following 'true' branch (when 'buf' is non-NULL)...
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:230:9: throw: if 'open' throws an exception...
fuse-3.18.1/test/test_write_cache.c:230:9: danger: 'buf' leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  228|   	buf = malloc(dsize);
#  229|   	assert(buf != NULL);
#  230|-> 	assert((fd = open("/dev/urandom", O_RDONLY)) != -1);
#  231|   	assert(read(fd, buf, dsize) == dsize);
#  232|   	close(fd);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def190]
fuse-3.18.1/test/test_write_cache.c:231:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open("/dev/urandom", 0)'
fuse-3.18.1/test/test_write_cache.c:229:9: branch_true: following 'true' branch (when 'buf' is non-NULL)...
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:230:9: acquire_resource: opened here
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:232:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:231:9: danger: 'open("/dev/urandom", 0)' leaks here; was opened at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#  229|   	assert(buf != NULL);
#  230|   	assert((fd = open("/dev/urandom", O_RDONLY)) != -1);
#  231|-> 	assert(read(fd, buf, dsize) == dsize);
#  232|   	close(fd);
#  233|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def191]
fuse-3.18.1/test/test_write_cache.c:232:9: warning[-Wanalyzer-malloc-leak]: leak of 'buf'
fuse-3.18.1/test/test_write_cache.c:228:15: acquire_memory: allocated here
fuse-3.18.1/test/test_write_cache.c:229:9: branch_true: following 'true' branch (when 'buf' is non-NULL)...
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:232:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:232:9: throw: if 'close' throws an exception...
fuse-3.18.1/test/test_write_cache.c:232:9: danger: 'buf' leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  230|   	assert((fd = open("/dev/urandom", O_RDONLY)) != -1);
#  231|   	assert(read(fd, buf, dsize) == dsize);
#  232|-> 	close(fd);
#  233|   
#  234|   	assert(snprintf(fname, PATH_MAX, "%s/" FILE_NAME, mountpoint) > 0);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def192]
fuse-3.18.1/test/test_write_cache.c:235:14: warning[-Wanalyzer-malloc-leak]: leak of 'buf'
fuse-3.18.1/test/test_write_cache.c:228:15: acquire_memory: allocated here
fuse-3.18.1/test/test_write_cache.c:229:9: branch_true: following 'true' branch (when 'buf' is non-NULL)...
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:232:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:234:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:235:14: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:235:14: throw: if 'open' throws an exception...
fuse-3.18.1/test/test_write_cache.c:235:14: danger: 'buf' leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  233|   
#  234|   	assert(snprintf(fname, PATH_MAX, "%s/" FILE_NAME, mountpoint) > 0);
#  235|-> 	fd = open(fname, O_WRONLY);
#  236|   	if (fd == -1) {
#  237|   		perror(fname);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def193]
fuse-3.18.1/test/test_write_cache.c:237:17: warning[-Wanalyzer-malloc-leak]: leak of 'buf'
fuse-3.18.1/test/test_write_cache.c:228:15: acquire_memory: allocated here
fuse-3.18.1/test/test_write_cache.c:229:9: branch_true: following 'true' branch (when 'buf' is non-NULL)...
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:232:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:234:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:235:14: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:236:12: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:237:17: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:237:17: throw: if 'perror' throws an exception...
fuse-3.18.1/test/test_write_cache.c:237:17: danger: 'buf' leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  235|   	fd = open(fname, O_WRONLY);
#  236|   	if (fd == -1) {
#  237|-> 		perror(fname);
#  238|   		assert(0);
#  239|   	}

Error: GCC_ANALYZER_WARNING (CWE-775): [#def194]
fuse-3.18.1/test/test_write_cache.c:241:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open(&fname, 1)'
fuse-3.18.1/test/test_write_cache.c:229:9: branch_true: following 'true' branch (when 'buf' is non-NULL)...
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:232:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:234:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:235:14: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:235:14: acquire_resource: opened here
fuse-3.18.1/test/test_write_cache.c:236:12: branch_false: following 'false' branch...
fuse-3.18.1/test/test_write_cache.c:241:13: branch_false: ...to here
fuse-3.18.1/test/test_write_cache.c:241:12: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:243:24: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:243:24: throw: if 'open' throws an exception...
fuse-3.18.1/test/test_write_cache.c:241:13: danger: 'open(&fname, 1)' leaks here; was opened at [(9)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/8)
#  239|   	}
#  240|   
#  241|-> 	if (options.delay_ms) {
#  242|   		/* Verify that close(rofd) does not block waiting for pending writes */
#  243|   		rofd = open(fname, O_RDONLY);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def195]
fuse-3.18.1/test/test_write_cache.c:243:24: warning[-Wanalyzer-malloc-leak]: leak of 'buf'
fuse-3.18.1/test/test_write_cache.c:228:15: acquire_memory: allocated here
fuse-3.18.1/test/test_write_cache.c:229:9: branch_true: following 'true' branch (when 'buf' is non-NULL)...
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:232:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:234:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:235:14: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:236:12: branch_false: following 'false' branch...
fuse-3.18.1/test/test_write_cache.c:241:13: branch_false: ...to here
fuse-3.18.1/test/test_write_cache.c:241:12: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:243:24: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:243:24: throw: if 'open' throws an exception...
fuse-3.18.1/test/test_write_cache.c:243:24: danger: 'buf' leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  241|   	if (options.delay_ms) {
#  242|   		/* Verify that close(rofd) does not block waiting for pending writes */
#  243|-> 		rofd = open(fname, O_RDONLY);
#  244|   		assert(pthread_create(&rofd_thread, NULL, close_rofd,
#  245|   				      (void *)(long)rofd) == 0);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def196]
fuse-3.18.1/test/test_write_cache.c:247:17: warning[-Wanalyzer-malloc-leak]: leak of 'buf'
fuse-3.18.1/test/test_write_cache.c:228:15: acquire_memory: allocated here
fuse-3.18.1/test/test_write_cache.c:229:9: branch_true: following 'true' branch (when 'buf' is non-NULL)...
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:232:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:234:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:235:14: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:236:12: branch_false: following 'false' branch...
fuse-3.18.1/test/test_write_cache.c:241:13: branch_false: ...to here
fuse-3.18.1/test/test_write_cache.c:241:12: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:243:24: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:244:17: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:247:24: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:247:17: throw: if 'usleep' throws an exception...
fuse-3.18.1/test/test_write_cache.c:247:17: danger: 'buf' leaks here; was allocated at [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  245|   				      (void *)(long)rofd) == 0);
#  246|   		/* Give close_rofd time to start */
#  247|-> 		usleep(options.delay_ms * 1000);
#  248|   	}
#  249|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def197]
fuse-3.18.1/test/test_write_cache.c:251:17: warning[-Wanalyzer-malloc-leak]: leak of 'buf'
fuse-3.18.1/test/test_write_cache.c:228:15: acquire_memory: allocated here
fuse-3.18.1/test/test_write_cache.c:229:9: branch_true: following 'true' branch (when 'buf' is non-NULL)...
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:230:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:231:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:232:9: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:234:9: branch_true: following 'true' branch...
fuse-3.18.1/test/test_write_cache.c:235:14: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:236:12: branch_false: following 'false' branch...
fuse-3.18.1/test/test_write_cache.c:241:13: branch_false: ...to here
fuse-3.18.1/test/test_write_cache.c:250:27: branch_true: following 'true' branch (when 'cnt != 64')...
fuse-3.18.1/test/test_write_cache.c:251:17: branch_true: ...to here
fuse-3.18.1/test/test_write_cache.c:251:17: throw: if 'pwrite' throws an exception...
fuse-3.18.1/test/test_write_cache.c:251:17: danger: 'buf' leaks here; was allocated at [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  249|   
#  250|   	for (int cnt = 0; cnt < WRITE_SYSCALLS; cnt++) {
#  251|-> 		assert(pwrite(fd, buf + off, iosize, off) == iosize);
#  252|   		off += iosize;
#  253|   		assert(off <= dsize);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def198]
fuse-3.18.1/util/fusermount.c:185:29: warning[-Wanalyzer-malloc-leak]: leak of 'd'
fuse-3.18.1/util/fusermount.c:921:12: enter_function: entry to 'do_mount'
fuse-3.18.1/util/fusermount.c:937:27: acquire_memory: allocated here
fuse-3.18.1/util/fusermount.c:938:12: branch_false: following 'false' branch (when 'optbuf' is non-NULL)...
fuse-3.18.1/util/fusermount.c:938:12: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:943:36: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1020:9: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1021:15: call_function: calling 'get_mnt_opts' from 'do_mount'
#  183|   static const char *get_user_name(void)
#  184|   {
#  185|-> 	struct passwd *pw = getpwuid(getuid());
#  186|   	if (pw != NULL && pw->pw_name != NULL)
#  187|   		return pw->pw_name;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def199]
fuse-3.18.1/util/fusermount.c:185:29: warning[-Wanalyzer-malloc-leak]: leak of 'mnt_opts'
fuse-3.18.1/util/fusermount.c:921:12: enter_function: entry to 'do_mount'
fuse-3.18.1/util/fusermount.c:938:12: branch_false: following 'false' branch (when 'optbuf' is non-NULL)...
fuse-3.18.1/util/fusermount.c:938:12: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:943:36: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1020:9: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1021:15: call_function: calling 'get_mnt_opts' from 'do_mount'
#  183|   static const char *get_user_name(void)
#  184|   {
#  185|-> 	struct passwd *pw = getpwuid(getuid());
#  186|   	if (pw != NULL && pw->pw_name != NULL)
#  187|   		return pw->pw_name;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def200]
fuse-3.18.1/util/fusermount.c:262:16: warning[-Wanalyzer-malloc-leak]: leak of 'source'
fuse-3.18.1/util/fusermount.c:1259:12: enter_function: entry to 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: call_function: calling 'open_fuse_device' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: return_function: returning to 'mount_fuse' from 'open_fuse_device'
fuse-3.18.1/util/fusermount.c:1273:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1276:9: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1288:14: call_function: calling 'extract_x_options' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1288:14: return_function: returning to 'mount_fuse' from 'extract_x_options'
fuse-3.18.1/util/fusermount.c:1289:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1292:15: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1292:15: call_function: calling 'check_perm' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1292:15: return_function: returning to 'mount_fuse' from 'check_perm'
fuse-3.18.1/util/fusermount.c:1293:9: call_function: calling 'restore_privs' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1293:9: return_function: returning to 'mount_fuse' from 'restore_privs'
fuse-3.18.1/util/fusermount.c:1294:12: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1295:23: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:1295:23: call_function: calling 'do_mount' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1295:23: return_function: returning to 'mount_fuse' from 'do_mount'
fuse-3.18.1/util/fusermount.c:1298:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1301:12: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1301:12: branch_false: following 'false' branch (when 'res != -1')...
fuse-3.18.1/util/fusermount.c:1304:15: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1305:12: branch_false: following 'false' branch (when 'res != -1')...
fuse-3.18.1/util/fusermount.c:1310:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1310:12: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1311:21: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:1311:20: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1311:31: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:1311:21: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1333:23: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1333:23: call_function: inlined call to 'add_mount' from 'mount_fuse'
#  260|   		     const char *opts)
#  261|   {
#  262|-> 	return fuse_mnt_add_mount(progname, source, mnt, type, opts);
#  263|   }
#  264|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def201]
fuse-3.18.1/util/fusermount.c:452:13: warning[-Wanalyzer-malloc-leak]: leak of 'copy'
fuse-3.18.1/util/fusermount.c:1446:12: enter_function: entry to 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1453:16: acquire_memory: allocated here
fuse-3.18.1/util/fusermount.c:1454:12: branch_false: following 'false' branch (when 'copy' is non-NULL)...
fuse-3.18.1/util/fusermount.c:1459:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1459:13: call_function: calling 'chdir_to_parent' from 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1459:13: return_function: returning to 'should_auto_unmount' from 'chdir_to_parent'
fuse-3.18.1/util/fusermount.c:1459:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1461:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1461:13: call_function: calling 'check_is_mount' from 'should_auto_unmount'
#  450|   		return -1;
#  451|   	}
#  452|-> 	p = waitpid(pid, &status, __WCLONE);
#  453|   	if (p == (pid_t) -1) {
#  454|   		fprintf(stderr, "%s: waitpid failed: %s\n",

Error: GCC_ANALYZER_WARNING (CWE-775): [#def202]
fuse-3.18.1/util/fusermount.c:720:42: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open_fuse_device(dev)'
fuse-3.18.1/util/fusermount.c:1259:12: enter_function: entry to 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: call_function: calling 'open_fuse_device' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: return_function: returning to 'mount_fuse' from 'open_fuse_device'
fuse-3.18.1/util/fusermount.c:1273:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1276:9: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1276:9: call_function: calling 'drop_privs' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1276:9: return_function: returning to 'mount_fuse' from 'drop_privs'
fuse-3.18.1/util/fusermount.c:1277:9: call_function: calling 'read_conf' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1277:9: return_function: returning to 'mount_fuse' from 'read_conf'
fuse-3.18.1/util/fusermount.c:1279:12: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1280:35: call_function: calling 'count_fuse_fs' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1280:35: return_function: returning to 'mount_fuse' from 'count_fuse_fs'
fuse-3.18.1/util/fusermount.c:1281:20: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1282:25: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:720:42: danger: 'open_fuse_device(dev)' leaks here; was opened at [(4)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/3)
#  718|   		while (fgets(line, sizeof(line), fp) != NULL) {
#  719|   			if (isnewline) {
#  720|-> 				if (line[strlen(line)-1] == '\n') {
#  721|   					strip_line(line);
#  722|   					parse_line(line, linenum);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def203]
fuse-3.18.1/util/fusermount.c:720:42: warning[-Wanalyzer-file-leak]: leak of FILE 'fopen("/etc/fuse.conf", "r")'
fuse-3.18.1/util/fusermount.c:1259:12: enter_function: entry to 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: call_function: calling 'open_fuse_device' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: return_function: returning to 'mount_fuse' from 'open_fuse_device'
fuse-3.18.1/util/fusermount.c:1273:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1276:9: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1276:9: call_function: calling 'drop_privs' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1276:9: return_function: returning to 'mount_fuse' from 'drop_privs'
fuse-3.18.1/util/fusermount.c:1277:9: call_function: calling 'read_conf' from 'mount_fuse'
#  718|   		while (fgets(line, sizeof(line), fp) != NULL) {
#  719|   			if (isnewline) {
#  720|-> 				if (line[strlen(line)-1] == '\n') {
#  721|   					strip_line(line);
#  722|   					parse_line(line, linenum);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def204]
fuse-3.18.1/util/fusermount.c:720:42: warning[-Wanalyzer-malloc-leak]: leak of 'fopen("/etc/fuse.conf", "r")'
fuse-3.18.1/util/fusermount.c:1259:12: enter_function: entry to 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: call_function: calling 'open_fuse_device' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: return_function: returning to 'mount_fuse' from 'open_fuse_device'
fuse-3.18.1/util/fusermount.c:1273:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1276:9: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1276:9: call_function: calling 'drop_privs' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1276:9: return_function: returning to 'mount_fuse' from 'drop_privs'
fuse-3.18.1/util/fusermount.c:1277:9: call_function: calling 'read_conf' from 'mount_fuse'
#  718|   		while (fgets(line, sizeof(line), fp) != NULL) {
#  719|   			if (isnewline) {
#  720|-> 				if (line[strlen(line)-1] == '\n') {
#  721|   					strip_line(line);
#  722|   					parse_line(line, linenum);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def205]
fuse-3.18.1/util/fusermount.c:738:20: warning[-Wanalyzer-file-leak]: leak of FILE 'fopen("/etc/fuse.conf", "r")'
fuse-3.18.1/util/fusermount.c:1259:12: enter_function: entry to 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: call_function: calling 'open_fuse_device' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: return_function: returning to 'mount_fuse' from 'open_fuse_device'
fuse-3.18.1/util/fusermount.c:1273:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1276:9: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1276:9: call_function: calling 'drop_privs' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1276:9: return_function: returning to 'mount_fuse' from 'drop_privs'
fuse-3.18.1/util/fusermount.c:1277:9: call_function: calling 'read_conf' from 'mount_fuse'
#  736|   
#  737|   		}
#  738|-> 		if (ferror(fp)) {
#  739|   			fprintf(stderr, "%s: reading %s: read failed\n", progname, FUSE_CONF);
#  740|   			exit(1);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def206]
fuse-3.18.1/util/fusermount.c:738:20: warning[-Wanalyzer-malloc-leak]: leak of 'fopen("/etc/fuse.conf", "r")'
fuse-3.18.1/util/fusermount.c:1259:12: enter_function: entry to 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: call_function: calling 'open_fuse_device' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: return_function: returning to 'mount_fuse' from 'open_fuse_device'
fuse-3.18.1/util/fusermount.c:1273:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1276:9: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1276:9: call_function: calling 'drop_privs' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1276:9: return_function: returning to 'mount_fuse' from 'drop_privs'
fuse-3.18.1/util/fusermount.c:1277:9: call_function: calling 'read_conf' from 'mount_fuse'
#  736|   
#  737|   		}
#  738|-> 		if (ferror(fp)) {
#  739|   			fprintf(stderr, "%s: reading %s: read failed\n", progname, FUSE_CONF);
#  740|   			exit(1);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def207]
fuse-3.18.1/util/fusermount.c:1322:33: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'x_mnt_opts' where non-null expected
fuse-3.18.1/util/fusermount.c:1259:12: enter_function: entry to 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: call_function: calling 'open_fuse_device' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: return_function: returning to 'mount_fuse' from 'open_fuse_device'
fuse-3.18.1/util/fusermount.c:1273:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1276:9: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1288:14: call_function: calling 'extract_x_options' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1288:14: return_function: returning to 'mount_fuse' from 'extract_x_options'
fuse-3.18.1/util/fusermount.c:1289:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1292:15: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1292:15: call_function: calling 'check_perm' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1292:15: return_function: returning to 'mount_fuse' from 'check_perm'
fuse-3.18.1/util/fusermount.c:1293:9: call_function: calling 'restore_privs' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1293:9: return_function: returning to 'mount_fuse' from 'restore_privs'
fuse-3.18.1/util/fusermount.c:1294:12: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1295:23: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:1295:23: call_function: calling 'do_mount' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1295:23: return_function: returning to 'mount_fuse' from 'do_mount'
fuse-3.18.1/util/fusermount.c:1298:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1301:12: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1301:12: branch_false: following 'false' branch (when 'res != -1')...
fuse-3.18.1/util/fusermount.c:1304:15: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1305:12: branch_false: following 'false' branch (when 'res != -1')...
fuse-3.18.1/util/fusermount.c:1310:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1310:12: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1311:21: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:1311:20: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1319:44: acquire_memory: this call could return NULL
fuse-3.18.1/util/fusermount.c:1321:28: branch_true: following 'true' branch (when 'mnt_opts_len != 0')...
fuse-3.18.1/util/fusermount.c:1322:33: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:1322:33: danger: argument 1 ('x_mnt_opts') from [(119)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/118) could be NULL where non-null expected
# 1320|   
# 1321|   			if (mnt_opts_len) {
# 1322|-> 				strcpy(x_mnt_opts, mnt_opts);
# 1323|   				strncat(x_mnt_opts, ",", 2);
# 1324|   			}

Error: GCC_ANALYZER_WARNING (CWE-688): [#def208]
fuse-3.18.1/util/fusermount.c:1326:25: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'x_mnt_opts' where non-null expected
fuse-3.18.1/util/fusermount.c:1259:12: enter_function: entry to 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: call_function: calling 'open_fuse_device' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: return_function: returning to 'mount_fuse' from 'open_fuse_device'
fuse-3.18.1/util/fusermount.c:1273:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1276:9: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1288:14: call_function: calling 'extract_x_options' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1288:14: return_function: returning to 'mount_fuse' from 'extract_x_options'
fuse-3.18.1/util/fusermount.c:1289:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1292:15: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1292:15: call_function: calling 'check_perm' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1292:15: return_function: returning to 'mount_fuse' from 'check_perm'
fuse-3.18.1/util/fusermount.c:1293:9: call_function: calling 'restore_privs' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1293:9: return_function: returning to 'mount_fuse' from 'restore_privs'
fuse-3.18.1/util/fusermount.c:1294:12: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1295:23: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:1295:23: call_function: calling 'do_mount' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1295:23: return_function: returning to 'mount_fuse' from 'do_mount'
fuse-3.18.1/util/fusermount.c:1298:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1301:12: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1301:12: branch_false: following 'false' branch (when 'res != -1')...
fuse-3.18.1/util/fusermount.c:1304:15: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1305:12: branch_false: following 'false' branch (when 'res != -1')...
fuse-3.18.1/util/fusermount.c:1310:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1310:12: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1311:21: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:1311:20: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1319:44: acquire_memory: this call could return NULL
fuse-3.18.1/util/fusermount.c:1321:28: branch_false: following 'false' branch (when 'mnt_opts_len == 0')...
fuse-3.18.1/util/fusermount.c:1327:33: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1326:25: danger: argument 1 ('x_mnt_opts') from [(119)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/118) could be NULL where non-null expected
# 1324|   			}
# 1325|   
# 1326|-> 			strncat(x_mnt_opts, x_opts,
# 1327|   				x_mnt_opts_len - mnt_opts_len - 2);
# 1328|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def209]
fuse-3.18.1/util/fusermount.c:1349:9: warning[-Wanalyzer-malloc-leak]: leak of 'do_mount_opts'
fuse-3.18.1/util/fusermount.c:1259:12: enter_function: entry to 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: call_function: calling 'open_fuse_device' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1272:14: return_function: returning to 'mount_fuse' from 'open_fuse_device'
fuse-3.18.1/util/fusermount.c:1273:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1276:9: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1288:14: call_function: calling 'extract_x_options' from 'mount_fuse'
fuse-3.18.1/util/fusermount.c:1288:14: return_function: returning to 'mount_fuse' from 'extract_x_options'
fuse-3.18.1/util/fusermount.c:1289:12: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1290:17: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:1349:9: throw: if 'close' throws an exception...
fuse-3.18.1/util/fusermount.c:1349:9: danger: 'do_mount_opts' leaks here; was allocated at [(11)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/10)
# 1347|   
# 1348|   fail_close_fd:
# 1349|-> 	close(fd);
# 1350|   	fd = -1;
# 1351|   	goto out_free;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def210]
fuse-3.18.1/util/fusermount.c:1400:17: warning[-Wanalyzer-malloc-leak]: leak of 'copy'
fuse-3.18.1/util/fusermount.c:1446:12: enter_function: entry to 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1453:16: acquire_memory: allocated here
fuse-3.18.1/util/fusermount.c:1454:12: branch_false: following 'false' branch (when 'copy' is non-NULL)...
fuse-3.18.1/util/fusermount.c:1459:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1459:13: call_function: calling 'chdir_to_parent' from 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1459:13: return_function: returning to 'should_auto_unmount' from 'chdir_to_parent'
fuse-3.18.1/util/fusermount.c:1459:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1461:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1461:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1464:14: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1466:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1469:24: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1474:34: call_function: calling 'recheck_ENOTCONN_as_owner' from 'should_auto_unmount'
# 1398|   	int pid = fork();
# 1399|   	if(pid == -1) {
# 1400|-> 		perror("fuse: recheck_ENOTCONN_as_owner can't fork");
# 1401|   		_exit(EXIT_FAILURE);
# 1402|   	} else if(pid == 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def211]
fuse-3.18.1/util/fusermount.c:1406:25: warning[-Wanalyzer-malloc-leak]: leak of 'copy'
fuse-3.18.1/util/fusermount.c:1446:12: enter_function: entry to 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1453:16: acquire_memory: allocated here
fuse-3.18.1/util/fusermount.c:1454:12: branch_false: following 'false' branch (when 'copy' is non-NULL)...
fuse-3.18.1/util/fusermount.c:1459:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1459:13: call_function: calling 'chdir_to_parent' from 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1459:13: return_function: returning to 'should_auto_unmount' from 'chdir_to_parent'
fuse-3.18.1/util/fusermount.c:1459:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1461:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1461:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1464:14: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1466:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1469:24: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1474:34: call_function: calling 'recheck_ENOTCONN_as_owner' from 'should_auto_unmount'
# 1404|   		gid_t gid = getgid();
# 1405|   		if(setresgid(gid, gid, gid) == -1) {
# 1406|-> 			perror("fuse: can't set resgid");
# 1407|   			_exit(EXIT_FAILURE);
# 1408|   		}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def212]
fuse-3.18.1/util/fusermount.c:1410:25: warning[-Wanalyzer-malloc-leak]: leak of 'copy'
fuse-3.18.1/util/fusermount.c:1446:12: enter_function: entry to 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1453:16: acquire_memory: allocated here
fuse-3.18.1/util/fusermount.c:1454:12: branch_false: following 'false' branch (when 'copy' is non-NULL)...
fuse-3.18.1/util/fusermount.c:1459:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1459:13: call_function: calling 'chdir_to_parent' from 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1459:13: return_function: returning to 'should_auto_unmount' from 'chdir_to_parent'
fuse-3.18.1/util/fusermount.c:1459:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1461:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1461:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1464:14: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1466:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1469:24: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1474:34: call_function: calling 'recheck_ENOTCONN_as_owner' from 'should_auto_unmount'
# 1408|   		}
# 1409|   		if(setresuid(uid, uid, uid) == -1) {
# 1410|-> 			perror("fuse: can't set resuid");
# 1411|   			_exit(EXIT_FAILURE);
# 1412|   		}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def213]
fuse-3.18.1/util/fusermount.c:1414:26: warning[-Wanalyzer-malloc-leak]: leak of 'copy'
fuse-3.18.1/util/fusermount.c:1446:12: enter_function: entry to 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1453:16: acquire_memory: allocated here
fuse-3.18.1/util/fusermount.c:1454:12: branch_false: following 'false' branch (when 'copy' is non-NULL)...
fuse-3.18.1/util/fusermount.c:1459:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1459:13: call_function: calling 'chdir_to_parent' from 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1459:13: return_function: returning to 'should_auto_unmount' from 'chdir_to_parent'
fuse-3.18.1/util/fusermount.c:1459:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1461:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1461:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1464:14: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1466:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1469:24: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1474:34: call_function: calling 'recheck_ENOTCONN_as_owner' from 'should_auto_unmount'
# 1412|   		}
# 1413|   
# 1414|-> 		int fd = open(mnt, O_RDONLY);
# 1415|   		if(fd == -1 && errno == ENOTCONN)
# 1416|   			_exit(EXIT_SUCCESS);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def214]
fuse-3.18.1/util/fusermount.c:1415:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open(mnt, 0)'
fuse-3.18.1/util/fusermount.c:1399:11: branch_false: following 'false' branch (when 'pid != -1')...
fuse-3.18.1/util/fusermount.c:1402:18: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1402:18: branch_true: following 'true' branch (when 'pid == 0')...
fuse-3.18.1/util/fusermount.c:1403:29: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:1405:19: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1409:20: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1409:19: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1414:26: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1414:26: acquire_resource: opened here
fuse-3.18.1/util/fusermount.c:1415:19: danger: 'open(mnt, 0)' leaks here; was opened at [(9)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/8)
# 1413|   
# 1414|   		int fd = open(mnt, O_RDONLY);
# 1415|-> 		if(fd == -1 && errno == ENOTCONN)
# 1416|   			_exit(EXIT_SUCCESS);
# 1417|   		else

Error: GCC_ANALYZER_WARNING (CWE-401): [#def215]
fuse-3.18.1/util/fusermount.c:1421:27: warning[-Wanalyzer-malloc-leak]: leak of 'copy'
fuse-3.18.1/util/fusermount.c:1446:12: enter_function: entry to 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1453:16: acquire_memory: allocated here
fuse-3.18.1/util/fusermount.c:1454:12: branch_false: following 'false' branch (when 'copy' is non-NULL)...
fuse-3.18.1/util/fusermount.c:1459:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1459:13: call_function: calling 'chdir_to_parent' from 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1459:13: return_function: returning to 'should_auto_unmount' from 'chdir_to_parent'
fuse-3.18.1/util/fusermount.c:1459:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1461:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1461:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1464:14: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1466:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1469:24: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1474:34: call_function: calling 'recheck_ENOTCONN_as_owner' from 'should_auto_unmount'
# 1419|   	} else {
# 1420|   		int status;
# 1421|-> 		int res = waitpid(pid, &status, 0);
# 1422|   		if (res == -1) {
# 1423|   			perror("fuse: waiting for child failed");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def216]
fuse-3.18.1/util/fusermount.c:1423:25: warning[-Wanalyzer-malloc-leak]: leak of 'copy'
fuse-3.18.1/util/fusermount.c:1446:12: enter_function: entry to 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1453:16: acquire_memory: allocated here
fuse-3.18.1/util/fusermount.c:1454:12: branch_false: following 'false' branch (when 'copy' is non-NULL)...
fuse-3.18.1/util/fusermount.c:1459:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1459:13: call_function: calling 'chdir_to_parent' from 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1459:13: return_function: returning to 'should_auto_unmount' from 'chdir_to_parent'
fuse-3.18.1/util/fusermount.c:1459:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1461:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1461:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1464:14: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1466:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1469:24: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1474:34: call_function: calling 'recheck_ENOTCONN_as_owner' from 'should_auto_unmount'
# 1421|   		int res = waitpid(pid, &status, 0);
# 1422|   		if (res == -1) {
# 1423|-> 			perror("fuse: waiting for child failed");
# 1424|   			_exit(EXIT_FAILURE);
# 1425|   		}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def217]
fuse-3.18.1/util/fusermount.c:1464:14: warning[-Wanalyzer-malloc-leak]: leak of 'copy'
fuse-3.18.1/util/fusermount.c:1446:12: enter_function: entry to 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1453:16: acquire_memory: allocated here
fuse-3.18.1/util/fusermount.c:1454:12: branch_false: following 'false' branch (when 'copy' is non-NULL)...
fuse-3.18.1/util/fusermount.c:1459:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1459:13: call_function: calling 'chdir_to_parent' from 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1459:13: return_function: returning to 'should_auto_unmount' from 'chdir_to_parent'
fuse-3.18.1/util/fusermount.c:1459:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1461:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1461:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1464:14: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1464:14: throw: if 'open' throws an exception...
fuse-3.18.1/util/fusermount.c:1464:14: danger: 'copy' leaks here; was allocated at [(2)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/1)
# 1462|   		goto out;
# 1463|   
# 1464|-> 	fd = open(mnt, O_RDONLY);
# 1465|   
# 1466|   	if (fd != -1) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def218]
fuse-3.18.1/util/fusermount.c:1467:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open(mnt, 0)'
fuse-3.18.1/util/fusermount.c:1446:12: enter_function: entry to 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1454:12: branch_false: following 'false' branch (when 'copy' is non-NULL)...
fuse-3.18.1/util/fusermount.c:1459:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1459:13: call_function: calling 'chdir_to_parent' from 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1459:13: return_function: returning to 'should_auto_unmount' from 'chdir_to_parent'
fuse-3.18.1/util/fusermount.c:1459:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1461:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1461:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1464:14: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1464:14: acquire_resource: opened here
fuse-3.18.1/util/fusermount.c:1466:12: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1467:17: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:1467:17: danger: 'open(mnt, 0)' leaks here; was opened at [(13)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/12)
# 1465|   
# 1466|   	if (fd != -1) {
# 1467|-> 		close(fd);
# 1468|   	} else {
# 1469|   		switch(errno) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def219]
fuse-3.18.1/util/fusermount.c:1467:17: warning[-Wanalyzer-malloc-leak]: leak of 'copy'
fuse-3.18.1/util/fusermount.c:1446:12: enter_function: entry to 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1453:16: acquire_memory: allocated here
fuse-3.18.1/util/fusermount.c:1454:12: branch_false: following 'false' branch (when 'copy' is non-NULL)...
fuse-3.18.1/util/fusermount.c:1459:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1459:13: call_function: calling 'chdir_to_parent' from 'should_auto_unmount'
fuse-3.18.1/util/fusermount.c:1459:13: return_function: returning to 'should_auto_unmount' from 'chdir_to_parent'
fuse-3.18.1/util/fusermount.c:1459:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1461:13: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1461:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1464:14: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1466:12: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1467:17: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:1467:17: throw: if 'close' throws an exception...
fuse-3.18.1/util/fusermount.c:1467:17: danger: 'copy' leaks here; was allocated at [(2)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/1)
# 1465|   
# 1466|   	if (fd != -1) {
# 1467|-> 		close(fd);
# 1468|   	} else {
# 1469|   		switch(errno) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def220]
fuse-3.18.1/util/fusermount.c:1559:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open("/dev/null", 2)'
fuse-3.18.1/util/fusermount.c:1524:12: branch_false: following 'false' branch (when 'cfd > 2')...
fuse-3.18.1/util/fusermount.c:1528:12: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1549:18: acquire_resource: opened here
fuse-3.18.1/util/fusermount.c:1550:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1556:9: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1559:12: danger: 'open("/dev/null", 2)' leaks here; was opened at [(3)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/2)
# 1557|   	dup2(nullfd, STDOUT_FILENO);
# 1558|   	dup2(nullfd, STDERR_FILENO);
# 1559|-> 	if (nullfd > STDERR_FILENO)
# 1560|   		close(nullfd);
# 1561|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def221]
fuse-3.18.1/util/fusermount.c:1560:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open("/dev/null", 2)'
fuse-3.18.1/util/fusermount.c:1524:12: branch_false: following 'false' branch (when 'cfd > 2')...
fuse-3.18.1/util/fusermount.c:1528:12: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1549:18: acquire_resource: opened here
fuse-3.18.1/util/fusermount.c:1550:12: branch_false: following 'false' branch...
fuse-3.18.1/util/fusermount.c:1556:9: branch_false: ...to here
fuse-3.18.1/util/fusermount.c:1559:12: branch_true: following 'true' branch...
fuse-3.18.1/util/fusermount.c:1560:17: branch_true: ...to here
fuse-3.18.1/util/fusermount.c:1560:17: danger: 'open("/dev/null", 2)' leaks here; was opened at [(3)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/2)
# 1558|   	dup2(nullfd, STDERR_FILENO);
# 1559|   	if (nullfd > STDERR_FILENO)
# 1560|-> 		close(nullfd);
# 1561|   
# 1562|   	return 0;

Error: GCC_ANALYZER_WARNING (CWE-465): [#def222]
fuse-3.18.1/util/mount.fuse.c:370:20: warning[-Wanalyzer-deref-before-check]: check of 'source' for NULL after already dereferencing it
fuse-3.18.1/util/mount.fuse.c:236:5: enter_function: entry to 'main'
fuse-3.18.1/util/mount.fuse.c:266:12: branch_false: following 'false' branch (when 'type' is NULL)...
fuse-3.18.1/util/mount.fuse.c:266:12: branch_false: ...to here
fuse-3.18.1/util/mount.fuse.c:269:12: branch_false: following 'false' branch (when 'argc > 2')...
fuse-3.18.1/util/mount.fuse.c:276:9: branch_false: ...to here
fuse-3.18.1/util/mount.fuse.c:277:12: branch_false: following 'false' branch...
fuse-3.18.1/util/mount.fuse.c:280:9: branch_false: ...to here
fuse-3.18.1/util/mount.fuse.c:354:12: branch_false: following 'false' branch (when 'pass_fuse_fd == 0')...
fuse-3.18.1/util/mount.fuse.c:364:12: branch_false: ...to here
fuse-3.18.1/util/mount.fuse.c:364:12: branch_true: following 'true' branch (when 'dev != 0')...
fuse-3.18.1/util/mount.fuse.c:365:27: branch_true: ...to here
fuse-3.18.1/util/mount.fuse.c:365:27: call_function: calling 'add_option' from 'main'
fuse-3.18.1/util/mount.fuse.c:365:27: return_function: returning to 'main' from 'add_option'
fuse-3.18.1/util/mount.fuse.c:366:12: branch_true: following 'true' branch (when 'suid != 0')...
fuse-3.18.1/util/mount.fuse.c:367:27: branch_true: ...to here
fuse-3.18.1/util/mount.fuse.c:367:27: call_function: calling 'add_option' from 'main'
fuse-3.18.1/util/mount.fuse.c:367:27: return_function: returning to 'main' from 'add_option'
fuse-3.18.1/util/mount.fuse.c:369:12: branch_true: following 'true' branch (when 'type' is NULL)...
fuse-3.18.1/util/mount.fuse.c:370:20: branch_true: ...to here
fuse-3.18.1/util/mount.fuse.c:370:20: danger: pointer 'source' is checked for NULL here but it was already dereferenced at [(6)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/5)
#  368|   
#  369|   	if (!type) {
#  370|-> 		if (source) {
#  371|   			dup_source = xstrdup(source);
#  372|   			type = dup_source;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def223]
fuse-3.18.1/util/mount.fuse.c:376:30: warning[-Wanalyzer-malloc-leak]: leak of 'xstrdup(source)'
fuse-3.18.1/util/mount.fuse.c:236:5: enter_function: entry to 'main'
fuse-3.18.1/util/mount.fuse.c:266:12: branch_false: following 'false' branch (when 'type' is NULL)...
fuse-3.18.1/util/mount.fuse.c:266:12: branch_false: ...to here
fuse-3.18.1/util/mount.fuse.c:269:12: branch_false: following 'false' branch (when 'argc > 2')...
fuse-3.18.1/util/mount.fuse.c:276:9: branch_false: ...to here
fuse-3.18.1/util/mount.fuse.c:277:12: branch_false: following 'false' branch...
fuse-3.18.1/util/mount.fuse.c:280:9: branch_false: ...to here
fuse-3.18.1/util/mount.fuse.c:354:12: branch_false: following 'false' branch (when 'pass_fuse_fd == 0')...
fuse-3.18.1/util/mount.fuse.c:364:12: branch_false: ...to here
fuse-3.18.1/util/mount.fuse.c:364:12: branch_true: following 'true' branch (when 'dev != 0')...
fuse-3.18.1/util/mount.fuse.c:365:27: branch_true: ...to here
fuse-3.18.1/util/mount.fuse.c:365:27: call_function: calling 'add_option' from 'main'
fuse-3.18.1/util/mount.fuse.c:365:27: return_function: returning to 'main' from 'add_option'
fuse-3.18.1/util/mount.fuse.c:366:12: branch_true: following 'true' branch (when 'suid != 0')...
fuse-3.18.1/util/mount.fuse.c:367:27: branch_true: ...to here
fuse-3.18.1/util/mount.fuse.c:367:27: call_function: calling 'add_option' from 'main'
fuse-3.18.1/util/mount.fuse.c:367:27: return_function: returning to 'main' from 'add_option'
fuse-3.18.1/util/mount.fuse.c:369:12: branch_true: following 'true' branch (when 'type' is NULL)...
fuse-3.18.1/util/mount.fuse.c:370:20: branch_true: ...to here
fuse-3.18.1/util/mount.fuse.c:370:20: branch_true: following 'true' branch (when 'source' is non-NULL)...
fuse-3.18.1/util/mount.fuse.c:371:38: branch_true: ...to here
fuse-3.18.1/util/mount.fuse.c:371:38: call_function: calling 'xstrdup' from 'main'
fuse-3.18.1/util/mount.fuse.c:371:38: return_function: returning to 'main' from 'xstrdup'
fuse-3.18.1/util/mount.fuse.c:374:28: branch_false: following 'false' branch (when 'source' is NULL)...
fuse-3.18.1/util/mount.fuse.c:376:30: branch_false: ...to here
fuse-3.18.1/util/mount.fuse.c:376:30: danger: 'xstrdup(source)' leaks here; was allocated at [(46)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/45)
#  374|   			if (source)
#  375|   				*source++ = '\0';
#  376|-> 			if (!type[0]) {
#  377|   				fprintf(stderr, "%s: empty filesystem type\n",
#  378|   					progname);

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-126.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-namefuse3-3.18.1-1.fc44
store-results-to/tmp/tmpw2gh6yzp/fuse3-3.18.1-1.fc44.tar.xz
time-created2026-01-08 16:14:03
time-finished2026-01-08 16:15:46
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmpw2gh6yzp/fuse3-3.18.1-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpw2gh6yzp/fuse3-3.18.1-1.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9