Fixed findings

List of Findings

Error: CPPCHECK_WARNING (CWE-476): [#def1]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/src/idevice.c:551: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_connection
#  549|   		idevice_connection_t new_connection = (idevice_connection_t)malloc(sizeof(struct idevice_connection_private));
#  550|   		new_connection->type = CONNECTION_USBMUXD;
#  551|-> 		new_connection->data = (void*)(long)sfd;
#  552|   		new_connection->ssl_data = NULL;
#  553|   		new_connection->device = device;

Error: CPPCHECK_WARNING (CWE-476): [#def2]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/src/idevice.c:596: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_connection
#  594|   		idevice_connection_t new_connection = (idevice_connection_t)malloc(sizeof(struct idevice_connection_private));
#  595|   		new_connection->type = CONNECTION_NETWORK;
#  596|-> 		new_connection->data = (void*)(long)sfd;
#  597|   		new_connection->ssl_data = NULL;
#  598|   		new_connection->device = device;

Error: COMPILER_WARNING: [#def3]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/src/lockdown-cu.c: scope_hint: In function 'lockdownd_cu_send_request_and_get_reply'
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/src/lockdown-cu.c:962:38: warning[-Wunterminated-string-initialization]: initializer-string for array of 'unsigned char' truncates NUL terminator but destination lacks 'nonstring' attribute (13 chars into 12 available)
#  962 |         unsigned char cu_nonce[12] = "sendone01234"; // guaranteed to be random by fair dice troll
#      |                                      ^~~~~~~~~~~~~~
#  960|   
#  961|   	// Starting with iOS/tvOS 11.2 and WatchOS 4.2, this nonce is random and sent along with the request. Before, the request doesn't have a nonce and it uses hardcoded nonce "sendone01234".
#  962|-> 	unsigned char cu_nonce[12] = "sendone01234"; // guaranteed to be random by fair dice troll
#  963|           if (client->device->version >= DEVICE_VERSION(11,2,0)) {
#  964|   #if defined(HAVE_OPENSSL)

Error: COMPILER_WARNING (CWE-477): [#def4]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup.c: scope_hint: In function ‘mobilebackup_factory_info_plist_new’
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup.c:178:9: warning[-Wdeprecated-declarations]: ‘plist_new_date’ is deprecated: use plist_new_unix_date instead
#  178 |         plist_dict_set_item(ret, "Last Backup Date", plist_new_date(time(NULL) - MAC_EPOCH, 0));
#      |         ^~~~~~~~~~~~~~~~~~~
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/include/libimobiledevice/libimobiledevice.h:36: included_from: Included from here.
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup.c:39: included_from: Included from here.
/usr/include/plist/plist.h:1399:23: note: declared here
# 1399 |     PLIST_API plist_t plist_new_date(int32_t sec, int32_t usec);
#      |                       ^~~~~~~~~~~~~~
#  176|   		plist_dict_set_item(ret, "IMEI", plist_copy(value_node));
#  177|   
#  178|-> 	plist_dict_set_item(ret, "Last Backup Date", plist_new_date(time(NULL) - MAC_EPOCH, 0));
#  179|   
#  180|   	value_node = plist_dict_get_item(root_node, "ProductType");

Error: COMPILER_WARNING (CWE-477): [#def5]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup.c:178:9: warning[-Wdeprecated-declarations]: ‘plist_new_date’ is deprecated: use plist_new_unix_date instead
#  176|   		plist_dict_set_item(ret, "IMEI", plist_copy(value_node));
#  177|   
#  178|-> 	plist_dict_set_item(ret, "Last Backup Date", plist_new_date(time(NULL) - MAC_EPOCH, 0));
#  179|   
#  180|   	value_node = plist_dict_get_item(root_node, "ProductType");

Error: COMPILER_WARNING (CWE-477): [#def6]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup.c: scope_hint: In function ‘mobilebackup_info_update_last_backup_date’
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup.c:215:9: warning[-Wdeprecated-declarations]: ‘plist_set_date_val’ is deprecated: use plist_set_unix_date_val instead
#  215 |         plist_set_date_val(node, time(NULL) - MAC_EPOCH, 0);
#      |         ^~~~~~~~~~~~~~~~~~
/usr/include/plist/plist.h:1425:20: note: declared here
# 1425 |     PLIST_API void plist_set_date_val(plist_t node, int32_t sec, int32_t usec);
#      |                    ^~~~~~~~~~~~~~~~~~
#  213|   
#  214|   	node = plist_dict_get_item(info_plist, "Last Backup Date");
#  215|-> 	plist_set_date_val(node, time(NULL) - MAC_EPOCH, 0);
#  216|   
#  217|   	node = NULL;

Error: COMPILER_WARNING (CWE-477): [#def7]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup.c:215:9: warning[-Wdeprecated-declarations]: ‘plist_set_date_val’ is deprecated: use plist_set_unix_date_val instead
#  213|   
#  214|   	node = plist_dict_get_item(info_plist, "Last Backup Date");
#  215|-> 	plist_set_date_val(node, time(NULL) - MAC_EPOCH, 0);
#  216|   
#  217|   	node = NULL;

Error: COMPILER_WARNING (CWE-477): [#def8]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup2.c: scope_hint: In function ‘mobilebackup_factory_info_plist_new’
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup2.c:463:9: warning[-Wdeprecated-declarations]: ‘plist_new_date’ is deprecated: use plist_new_unix_date instead
#  463 |         plist_dict_set_item(ret, "Last Backup Date", plist_new_date(time(NULL) - MAC_EPOCH, 0));
#      |         ^~~~~~~~~~~~~~~~~~~
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/include/libimobiledevice/libimobiledevice.h:36: included_from: Included from here.
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup2.c:41: included_from: Included from here.
/usr/include/plist/plist.h:1399:23: note: declared here
# 1399 |     PLIST_API plist_t plist_new_date(int32_t sec, int32_t usec);
#      |                       ^~~~~~~~~~~~~~
#  461|   	plist_dict_set_item(ret, "Installed Applications", installed_apps);
#  462|   
#  463|-> 	plist_dict_set_item(ret, "Last Backup Date", plist_new_date(time(NULL) - MAC_EPOCH, 0));
#  464|   
#  465|   	value_node = plist_dict_get_item(root_node, "MobileEquipmentIdentifier");

Error: COMPILER_WARNING (CWE-477): [#def9]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup2.c:463:9: warning[-Wdeprecated-declarations]: ‘plist_new_date’ is deprecated: use plist_new_unix_date instead
#  461|   	plist_dict_set_item(ret, "Installed Applications", installed_apps);
#  462|   
#  463|-> 	plist_dict_set_item(ret, "Last Backup Date", plist_new_date(time(NULL) - MAC_EPOCH, 0));
#  464|   
#  465|   	value_node = plist_dict_get_item(root_node, "MobileEquipmentIdentifier");

Error: COMPILER_WARNING (CWE-477): [#def10]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup2.c: scope_hint: In function ‘mb2_handle_list_directory’
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup2.c:1226:53: warning[-Wdeprecated-declarations]: ‘plist_new_date’ is deprecated: use plist_new_unix_date instead
# 1226 |                                                     plist_new_date(st.st_mtime - MAC_EPOCH, 0));
#      |                                                     ^~~~~~~~~~~~~~
/usr/include/plist/plist.h:1399:23: note: declared here
# 1399 |     PLIST_API plist_t plist_new_date(int32_t sec, int32_t usec);
#      |                       ^~~~~~~~~~~~~~
# 1224|   				plist_dict_set_item(fdict, "DLFileSize", plist_new_uint(st.st_size));
# 1225|   				plist_dict_set_item(fdict, "DLFileModificationDate",
# 1226|-> 						    plist_new_date(st.st_mtime - MAC_EPOCH, 0));
# 1227|   
# 1228|   				plist_dict_set_item(dirlist, ep->d_name, fdict);

Error: COMPILER_WARNING (CWE-477): [#def11]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicebackup2.c:1226:53: warning[-Wdeprecated-declarations]: ‘plist_new_date’ is deprecated: use plist_new_unix_date instead
# 1224|   				plist_dict_set_item(fdict, "DLFileSize", plist_new_uint(st.st_size));
# 1225|   				plist_dict_set_item(fdict, "DLFileModificationDate",
# 1226|-> 						    plist_new_date(st.st_mtime - MAC_EPOCH, 0));
# 1227|   
# 1228|   				plist_dict_set_item(dirlist, ep->d_name, fdict);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def12]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:339:51: warning[-Wanalyzer-null-argument]: use of NULL ‘image_sig_path’ where non-null expected
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:184:15: release_memory: ‘image_sig_path’ is NULL
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:194:12: branch_false: following ‘false’ branch (when ‘argc != 0’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:200:15: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:256:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:265:44: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:265:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:270:17: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:271:15: release_memory: ‘image_sig_path’ is NULL
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:273:12: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:302:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:307:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:312:13: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:312:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:317:13: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:317:12: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:319:20: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:319:20: branch_false: following ‘false’ branch (when ‘disk_image_upload_type != 0’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:334:21: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:334:20: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:338:30: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:339:20: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:339:51: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:339:51: release_memory: ‘image_sig_path’ is NULL
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:339:51: danger: argument 1 (‘image_sig_path’) NULL where non-null expected
#  337|   		}
#  338|   		image_size = fst.st_size;
#  339|-> 		if (product_version_major < 17 && stat(image_sig_path, &fst) != 0) {
#  340|   			fprintf(stderr, "ERROR: stat: %s: %s\n", image_sig_path, strerror(errno));
#  341|   			goto leave;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def13]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:339:51: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘image_sig_path’ where non-null expected
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:194:12: branch_false: following ‘false’ branch (when ‘argc != 0’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:200:15: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:230:28: branch_false: following ‘false’ branch (when ‘argc > 0’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:235:38: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:236:28: branch_true: following ‘true’ branch (when ‘argc != 1’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:237:50: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:237:50: acquire_memory: this call could return NULL
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:256:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:265:44: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:265:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:270:17: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:273:12: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:280:20: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:281:29: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:281:28: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:286:13: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:302:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:307:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:312:13: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:312:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:317:13: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:317:12: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:319:20: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:319:20: branch_false: following ‘false’ branch (when ‘disk_image_upload_type != 0’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:334:21: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:334:20: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:338:30: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:339:20: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:339:51: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:339:51: danger: argument 1 (‘image_sig_path’) from [(9)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/8) could be NULL where non-null expected
#  337|   		}
#  338|   		image_size = fst.st_size;
#  339|-> 		if (product_version_major < 17 && stat(image_sig_path, &fst) != 0) {
#  340|   			fprintf(stderr, "ERROR: stat: %s: %s\n", image_sig_path, strerror(errno));
#  341|   			goto leave;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def14]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:398:29: warning[-Wanalyzer-null-argument]: use of NULL ‘image_path’ where non-null expected
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:184:15: release_memory: ‘image_sig_path’ is NULL
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:194:12: branch_false: following ‘false’ branch (when ‘argc != 0’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:200:15: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:256:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:265:44: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:265:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:270:17: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:271:15: release_memory: ‘image_sig_path’ is NULL
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:273:12: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:302:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:307:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:312:13: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:312:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:317:13: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:317:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:345:9: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:351:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:367:19: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:367:19: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:374:21: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:374:20: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:398:29: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:398:29: danger: argument 1 (‘image_path’) NULL where non-null expected
#  396|   			}
#  397|   		} else {
#  398|-> 			if (stat(image_path, &fst) != 0) {
#  399|   				fprintf(stderr, "Error: stat: '%s': %s\n", image_path, strerror(errno));
#  400|   				goto leave;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def15]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:398:29: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘image_path’ where non-null expected
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:194:12: branch_false: following ‘false’ branch (when ‘argc != 0’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:200:15: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:230:28: branch_false: following ‘false’ branch (when ‘argc > 0’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:235:38: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:235:38: acquire_memory: this call could return NULL
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:236:28: branch_true: following ‘true’ branch (when ‘argc != 1’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:237:50: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:256:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:265:44: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:265:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:270:17: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:273:12: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:280:20: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:281:29: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:281:28: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:286:13: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:302:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:307:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:312:13: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:312:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:317:13: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:317:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:345:9: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:351:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:367:19: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:367:19: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:374:21: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:374:20: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:398:29: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:398:29: danger: argument 1 (‘image_path’) from [(7)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/6) could be NULL where non-null expected
#  396|   			}
#  397|   		} else {
#  398|-> 			if (stat(image_path, &fst) != 0) {
#  399|   				fprintf(stderr, "Error: stat: '%s': %s\n", image_path, strerror(errno));
#  400|   				goto leave;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def16]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:488:38: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(string_build_path(image_path,  plist_get_string_ptr(plist_access_path(build_identity, 4, "Manifest", "PersonalizedDMG", "Info", "Path"), 0), 0), "rb")’
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:194:12: branch_false: following ‘false’ branch (when ‘argc != 0’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:200:15: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:256:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:265:44: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:265:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:270:17: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:273:12: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:302:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:307:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:312:13: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:312:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:317:13: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:317:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:345:9: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:351:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:367:19: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:367:19: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:374:21: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:374:20: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:398:29: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:398:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:402:30: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:402:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:406:53: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:417:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:422:33: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:424:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:429:49: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:439:36: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:442:74: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:450:28: branch_false: following ‘false’ branch (when ‘build_identity’ is non-NULL)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:454:45: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:455:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:459:46: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:460:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:464:41: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:467:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:471:41: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:477:29: acquire_resource: opened here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:478:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:486:25: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:489:32: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:496:25: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:501:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:505:33: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:488:38: danger: ‘fopen(string_build_path(image_path,  plist_get_string_ptr(plist_access_path(build_identity, 4, "Manifest", "PersonalizedDMG", "Info", "Path"), 0), 0), "rb")’ leaks here; was opened at [(41)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/40)
#  486|   			sha384_init(&ctx);
#  487|   			fstat(fileno(f), &fst);
#  488|-> 			image_size = fst.st_size;
#  489|   			while (!feof(f)) {
#  490|   				ssize_t fr = fread(buf, 1, sizeof(buf), f);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def17]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:488:38: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(string_build_path(image_path,  plist_get_string_ptr(plist_access_path(build_identity, 4, "Manifest", "PersonalizedDMG", "Info", "Path"), 0), 0), "rb")’
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:194:12: branch_false: following ‘false’ branch (when ‘argc != 0’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:200:15: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:256:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:265:44: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:265:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:270:17: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:273:12: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:302:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:307:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:312:13: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:312:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:317:13: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:317:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:345:9: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:351:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:367:19: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:367:19: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:374:21: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:374:20: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:398:29: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:398:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:402:30: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:402:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:406:53: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:417:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:422:33: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:424:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:429:49: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:439:36: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:442:74: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:450:28: branch_false: following ‘false’ branch (when ‘build_identity’ is non-NULL)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:454:45: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:455:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:459:46: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:460:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:464:41: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:467:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:471:41: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:477:29: acquire_memory: allocated here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:478:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:486:25: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:489:32: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:496:25: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:501:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:505:33: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/ideviceimagemounter.c:488:38: danger: ‘fopen(string_build_path(image_path,  plist_get_string_ptr(plist_access_path(build_identity, 4, "Manifest", "PersonalizedDMG", "Info", "Path"), 0), 0), "rb")’ leaks here; was allocated at [(41)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/40)
#  486|   			sha384_init(&ctx);
#  487|   			fstat(fileno(f), &fst);
#  488|-> 			image_size = fst.st_size;
#  489|   			while (!feof(f)) {
#  490|   				ssize_t fr = fread(buf, 1, sizeof(buf), f);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def18]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:245:47: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘nspectmp’
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:130:16: branch_true: following ‘true’ branch (when ‘c != -1’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:131:17: branch_true: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:136:28: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:136:28: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:160:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:166:14: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:174:20: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:181:25: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:184:28: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:184:28: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:208:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:217:42: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:217:12: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:222:15: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:226:12: branch_true: following ‘true’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:227:20: branch_false: following ‘false’ branch...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:231:25: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:233:25: branch_false: following ‘false’ branch (when ‘cmd != 2’)...
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:233:25: branch_false: ...to here
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicenotificationproxy.c:245:47: danger: dereference of NULL ‘nspectmp + (long unsigned int)i * 8’
#  243|   				default:
#  244|   					i = 0;
#  245|-> 					while(nspec[i] != NULL && i < (count+1)) {
#  246|   						printf("! observing \"%s\"\n", nspec[i]);
#  247|   						np_observe_notification(gnp, nspec[i]);

Error: CPPCHECK_WARNING (CWE-476): [#def19]
libimobiledevice-ed9703db1ee6d54e3801b618cee9524563d709e1/tools/idevicesyslog.c:442: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: udid
#  440|   				udid = strdup(event->udid);
#  441|   			}
#  442|-> 			if (strcmp(udid, event->udid) == 0) {
#  443|   				if (start_logging() != 0) {
#  444|   					fprintf(stderr, "Could not start logger for udid %s\n", udid);

Scan Properties

analyzer-version-clippy1.97.1
analyzer-version-cppcheck2.21.1
analyzer-version-gcc16.1.1
analyzer-version-gcc-analyzer16.1.1
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
diffbase-analyzer-version-clippy1.97.1
diffbase-analyzer-version-cppcheck2.21.1
diffbase-analyzer-version-gcc16.1.1
diffbase-analyzer-version-gcc-analyzer16.1.1
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-145.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-namelibimobiledevice-1.4.0-7.fc45
diffbase-store-results-to/tmp/tmp5dqyqxqc/libimobiledevice-1.4.0-7.fc45.tar.xz
diffbase-time-created2026-08-03 17:28:55
diffbase-time-finished2026-08-03 17:31:08
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,clippy,unicontrol,shellcheck,cppcheck' '-o' '/tmp/tmp5dqyqxqc/libimobiledevice-1.4.0-7.fc45.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp5dqyqxqc/libimobiledevice-1.4.0-7.fc45.src.rpm'
diffbase-tool-versioncsmock-3.8.7.20260803.142340.gb75b18e-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-145.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namelibimobiledevice-1.3.0^20240916gited9703d-7.fc44
store-results-to/tmp/tmpvmych4tg/libimobiledevice-1.3.0^20240916gited9703d-7.fc44.tar.xz
time-created2026-08-03 17:26:13
time-finished2026-08-03 17:28:39
titleFixed findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,clippy,unicontrol,shellcheck,cppcheck' '-o' '/tmp/tmpvmych4tg/libimobiledevice-1.3.0^20240916gited9703d-7.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpvmych4tg/libimobiledevice-1.3.0^20240916gited9703d-7.fc44.src.rpm'
tool-versioncsmock-3.8.7.20260803.142340.gb75b18e-1.el9