2022-06-23 03:03 ftp://ftp.de.debian.org/debian/pool/main/libi/libimobiledevice/libimobiledevice_1.3.0.orig.tar.bz2 cppcheck-options: --library=posix --library=gnu --showtime=top5 --check-library --inconclusive --enable=style,information --template=daca2 -D__GNUC__ --platform=unix64 -rp=temp -j2 platform: Linux-5.4.0-110-generic-x86_64-with-glibc2.29 python: 3.8.10 client-version: 1.3.24 compiler: g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 cppcheck: head 2.8 head-info: f1212e6 (2022-06-22 21:22:04 +0200) count: 162 161 elapsed-time: 15.5 23.0 head-timing-info: Overall time: 0s old-timing-info: Overall time: 0s head results: libimobiledevice-1.3.0/common/debug.c:60:38: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] libimobiledevice-1.3.0/common/socket.c:813:10: style: Condition 'res>0' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/common/socket.c:808:10: note: Assuming that condition 'res<=0' is not redundant libimobiledevice-1.3.0/common/socket.c:813:10: note: Condition 'res>0' is always true libimobiledevice-1.3.0/common/socket.c:790:47: style:inconclusive: Function 'socket_receive' argument 3 names different: declaration 'size' definition 'length'. [funcArgNamesDifferent] libimobiledevice-1.3.0/common/socket.h:57:47: note: Function 'socket_receive' argument 3 names different: declaration 'size' definition 'length'. libimobiledevice-1.3.0/common/socket.c:790:47: note: Function 'socket_receive' argument 3 names different: declaration 'size' definition 'length'. libimobiledevice-1.3.0/common/socket.c:795:44: style:inconclusive: Function 'socket_peek' argument 3 names different: declaration 'size' definition 'length'. [funcArgNamesDifferent] libimobiledevice-1.3.0/common/socket.h:58:44: note: Function 'socket_peek' argument 3 names different: declaration 'size' definition 'length'. libimobiledevice-1.3.0/common/socket.c:795:44: note: Function 'socket_peek' argument 3 names different: declaration 'size' definition 'length'. libimobiledevice-1.3.0/common/socket.c:800:55: style:inconclusive: Function 'socket_receive_timeout' argument 3 names different: declaration 'size' definition 'length'. [funcArgNamesDifferent] libimobiledevice-1.3.0/common/socket.h:59:55: note: Function 'socket_receive_timeout' argument 3 names different: declaration 'size' definition 'length'. libimobiledevice-1.3.0/common/socket.c:800:55: note: Function 'socket_receive_timeout' argument 3 names different: declaration 'size' definition 'length'. libimobiledevice-1.3.0/common/socket.c:825:44: style:inconclusive: Function 'socket_send' argument 3 names different: declaration 'size' definition 'length'. [funcArgNamesDifferent] libimobiledevice-1.3.0/common/socket.h:62:44: note: Function 'socket_send' argument 3 names different: declaration 'size' definition 'length'. libimobiledevice-1.3.0/common/socket.c:825:44: note: Function 'socket_send' argument 3 names different: declaration 'size' definition 'length'. libimobiledevice-1.3.0/common/utils.c:476:23: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] libimobiledevice-1.3.0/common/utils.c:480:54: style: Checking if unsigned expression 'strftime(s,24,"%Y-%m-%dT%H:%M:%SZ",btime)' is less than zero. [unsignedLessThanZero] libimobiledevice-1.3.0/common/utils.c:375:18: style: Variable 'subnode' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/common/userpref.c:235:19: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] libimobiledevice-1.3.0/common/userpref.c:221:12: style: Redundant condition: list. '!list || (list && *list)' is equivalent to '!list || *list' [redundantCondition] libimobiledevice-1.3.0/common/userpref.c:671:10: style: Redundant initialization for 'ret1'. The initialized value is overwritten before it is read. [redundantInitialization] libimobiledevice-1.3.0/common/userpref.c:665:14: note: ret1 is initialized libimobiledevice-1.3.0/common/userpref.c:671:10: note: ret1 is overwritten libimobiledevice-1.3.0/common/userpref.c:672:10: style: Redundant initialization for 'ret2'. The initialized value is overwritten before it is read. [redundantInitialization] libimobiledevice-1.3.0/common/userpref.c:666:14: note: ret2 is initialized libimobiledevice-1.3.0/common/userpref.c:672:10: note: ret2 is overwritten libimobiledevice-1.3.0/common/userpref.c:165:78: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] libimobiledevice-1.3.0/src/afc.c:419:53: style: Condition 'directory_information' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/src/afc.c:271:19: style: Checking if unsigned expression '*bytes_recv' is less than zero. [unsignedLessThanZero] libimobiledevice-1.3.0/src/afc.c:287:20: style: Checking if unsigned expression '*bytes_recv' is less than zero. [unsignedLessThanZero] libimobiledevice-1.3.0/src/afc.c:357:40: style: Parameter 'string' can be declared as pointer to const [constParameter] libimobiledevice-1.3.0/src/companion_proxy.c:68:3: warning: Either the condition '!client' is redundant or there is possible null pointer dereference: client. [nullPointerRedundantCheck] libimobiledevice-1.3.0/src/companion_proxy.c:70:51: note: Assuming that condition '!client' is not redundant libimobiledevice-1.3.0/src/companion_proxy.c:68:3: note: Null pointer dereference libimobiledevice-1.3.0/src/device_link_service.c:468:28: style: Condition 'plist' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/src/device_link_service.c:421:7: style: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/device_link_service.c:402:6: note: err is assigned libimobiledevice-1.3.0/src/device_link_service.c:421:7: note: err is overwritten libimobiledevice-1.3.0/src/debugserver.c:575:3: warning: Return value of function asprintf() is not used. [ignoredReturnValue] libimobiledevice-1.3.0/src/debugserver.c:596:3: warning: Return value of function asprintf() is not used. [ignoredReturnValue] libimobiledevice-1.3.0/src/debugserver.c:193:6: style: Condition 'command' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/src/debugserver.c:68:3: warning: Either the condition '!client' is redundant or there is possible null pointer dereference: client. [nullPointerRedundantCheck] libimobiledevice-1.3.0/src/debugserver.c:70:51: note: Assuming that condition '!client' is not redundant libimobiledevice-1.3.0/src/debugserver.c:68:3: note: Null pointer dereference libimobiledevice-1.3.0/src/debugserver.c:166:21: warning: Either the condition 'pkt' is redundant or there is possible null pointer dereference: name. [nullPointerRedundantCheck] libimobiledevice-1.3.0/src/debugserver.c:626:6: note: Assuming that condition 'pkt' is not redundant libimobiledevice-1.3.0/src/debugserver.c:622:26: note: Calling function 'debugserver_command_new', 1st argument 'pkt' value is 0 libimobiledevice-1.3.0/src/debugserver.c:166:21: note: Null pointer dereference libimobiledevice-1.3.0/src/debugserver.c:315:34: warning: Either the condition 'encoded_command' is redundant or there is possible null pointer dereference: encoded_command. [nullPointerRedundantCheck] libimobiledevice-1.3.0/src/debugserver.c:319:6: note: Assuming that condition 'encoded_command' is not redundant libimobiledevice-1.3.0/src/debugserver.c:315:34: note: Null pointer dereference libimobiledevice-1.3.0/src/debugserver.c:583:9: warning: Either the condition 'pkt' is redundant or there is possible null pointer dereference: pkt. [nullPointerRedundantCheck] libimobiledevice-1.3.0/src/debugserver.c:626:6: note: Assuming that condition 'pkt' is not redundant libimobiledevice-1.3.0/src/debugserver.c:583:9: note: Null pointer dereference libimobiledevice-1.3.0/src/debugserver.c:619:2: warning: Either the condition 'pkt' is redundant or there is possible null pointer dereference: pkt. [nullPointerRedundantCheck] libimobiledevice-1.3.0/src/debugserver.c:626:6: note: Assuming that condition 'pkt' is not redundant libimobiledevice-1.3.0/src/debugserver.c:619:2: note: Null pointer dereference libimobiledevice-1.3.0/src/diagnostics_relay.c:126:28: style: Condition 'plist' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/src/diagnostics_relay.c:184:6: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:180:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:184:6: note: ret is overwritten libimobiledevice-1.3.0/src/diagnostics_relay.c:192:7: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:184:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:192:7: note: ret is overwritten libimobiledevice-1.3.0/src/diagnostics_relay.c:218:6: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:214:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:218:6: note: ret is overwritten libimobiledevice-1.3.0/src/diagnostics_relay.c:225:7: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:218:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:225:7: note: ret is overwritten libimobiledevice-1.3.0/src/diagnostics_relay.c:262:6: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:258:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:262:6: note: ret is overwritten libimobiledevice-1.3.0/src/diagnostics_relay.c:269:7: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:262:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:269:7: note: ret is overwritten libimobiledevice-1.3.0/src/diagnostics_relay.c:303:6: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:299:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:303:6: note: ret is overwritten libimobiledevice-1.3.0/src/diagnostics_relay.c:310:7: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:303:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:310:7: note: ret is overwritten libimobiledevice-1.3.0/src/diagnostics_relay.c:345:6: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:341:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:345:6: note: ret is overwritten libimobiledevice-1.3.0/src/diagnostics_relay.c:352:7: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:345:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:352:7: note: ret is overwritten libimobiledevice-1.3.0/src/diagnostics_relay.c:390:6: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:386:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:390:6: note: ret is overwritten libimobiledevice-1.3.0/src/diagnostics_relay.c:397:7: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:390:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:397:7: note: ret is overwritten libimobiledevice-1.3.0/src/diagnostics_relay.c:432:6: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:428:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:432:6: note: ret is overwritten libimobiledevice-1.3.0/src/diagnostics_relay.c:439:7: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/diagnostics_relay.c:432:6: note: ret is assigned libimobiledevice-1.3.0/src/diagnostics_relay.c:439:7: note: ret is overwritten libimobiledevice-1.3.0/src/heartbeat.c:67:3: warning: Either the condition '!client' is redundant or there is possible null pointer dereference: client. [nullPointerRedundantCheck] libimobiledevice-1.3.0/src/heartbeat.c:69:51: note: Assuming that condition '!client' is not redundant libimobiledevice-1.3.0/src/heartbeat.c:67:3: note: Null pointer dereference libimobiledevice-1.3.0/src/idevice.c:674:8: style: Condition 'do_select' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/src/idevice.c:668:19: note: Assignment 'do_select=1', assigned value is 1 libimobiledevice-1.3.0/src/idevice.c:674:8: note: Condition 'do_select' is always true libimobiledevice-1.3.0/src/idevice.c:849:18: style: Condition 'tbytes=length' is not redundant libimobiledevice-1.3.0/src/idevice.c:849:18: note: Condition 'tbytes0' is not redundant libimobiledevice-1.3.0/src/mobilebackup2.c:268:22: note: Condition 'received==0' is always true libimobiledevice-1.3.0/src/mobilebackup2.c:231:16: style: Variable 'bytes_loc' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/mobilebackup2.c:257:16: style: Variable 'bytes_loc' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/mobilesync.c:342:7: style: Variable 'msg' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/mobilesync.c:616:7: style: Variable 'msg' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/mobilesync.c:745:10: style: Variable 'anchors' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/mobilesync.c:789:11: style: Variable 'actions' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/notification_proxy.c:342:6: style: Condition 'npt' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/src/preboard.c:67:3: warning: Either the condition '!client' is redundant or there is possible null pointer dereference: client. [nullPointerRedundantCheck] libimobiledevice-1.3.0/src/preboard.c:69:51: note: Assuming that condition '!client' is not redundant libimobiledevice-1.3.0/src/preboard.c:67:3: note: Null pointer dereference libimobiledevice-1.3.0/src/property_list_service.c:117:14: style: Redundant condition: client. '!client || (client && !client->parent)' is equivalent to '!client || !client->parent' [redundantCondition] libimobiledevice-1.3.0/src/property_list_service.c:189:14: style: Redundant condition: client. '!client || (client && !client->parent)' is equivalent to '!client || !client->parent' [redundantCondition] libimobiledevice-1.3.0/src/property_list_service.c:146:12: style: Checking if unsigned expression 'bytes' is less than zero. [unsignedLessThanZero] libimobiledevice-1.3.0/src/property_list_service.c:89:9: style: Variable 'client' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/installation_proxy.c:791:6: style: Condition 'capabilities' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/src/installation_proxy.c:1057:6: style: Condition 'path_str' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/src/installation_proxy.c:1061:6: style: Condition 'exec_str' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/src/installation_proxy.c:529:6: style: Variable 'res' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/installation_proxy.c:525:6: note: res is assigned libimobiledevice-1.3.0/src/installation_proxy.c:529:6: note: res is overwritten libimobiledevice-1.3.0/src/installation_proxy.c:1001:68: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] libimobiledevice-1.3.0/src/installation_proxy.c:1004:112: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] libimobiledevice-1.3.0/src/installation_proxy.c:331:23: style: Variable 'percent_complete' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/installation_proxy.c:618:22: style: Variable 'appid_array' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/installation_proxy.c:878:15: style: Variable 'node' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/restore.c:154:28: style: Condition 'plist' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/src/restore.c:238:6: style: Condition 'key' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/src/restore.c:271:28: style: Condition 'value' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/src/restore.c:185:6: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/restore.c:180:6: note: ret is assigned libimobiledevice-1.3.0/src/restore.c:185:6: note: ret is overwritten libimobiledevice-1.3.0/src/restore.c:357:6: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] libimobiledevice-1.3.0/src/restore.c:353:6: note: ret is assigned libimobiledevice-1.3.0/src/restore.c:357:6: note: ret is overwritten libimobiledevice-1.3.0/src/service.c:140:14: style: Redundant condition: client. '!client || (client && !client->connection)' is equivalent to '!client || !client->connection' [redundantCondition] libimobiledevice-1.3.0/src/service.c:161:14: style: Redundant condition: client. '!client || (client && !client->connection)' is equivalent to '!client || !client->connection' [redundantCondition] libimobiledevice-1.3.0/src/service.c:130:9: style: Variable 'client' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/syslog_relay.c:170:6: style: Condition 'srwt' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/src/syslog_relay.c:72:3: warning: Either the condition '!client' is redundant or there is possible null pointer dereference: client. [nullPointerRedundantCheck] libimobiledevice-1.3.0/src/syslog_relay.c:74:51: note: Assuming that condition '!client' is not redundant libimobiledevice-1.3.0/src/syslog_relay.c:72:3: note: Null pointer dereference libimobiledevice-1.3.0/src/syslog_relay.c:143:27: style: Variable 'ret' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/webinspector.c:67:3: warning: Either the condition '!client' is redundant or there is possible null pointer dereference: client. [nullPointerRedundantCheck] libimobiledevice-1.3.0/src/webinspector.c:69:51: note: Assuming that condition '!client' is not redundant libimobiledevice-1.3.0/src/webinspector.c:67:3: note: Null pointer dereference libimobiledevice-1.3.0/src/webinspector.c:149:18: style: Same expression on both sides of '-='. [duplicateExpression] libimobiledevice-1.3.0/src/webinspector.c:115:23: style: Variable 'is_final_message' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/webinspector.c:154:12: style: Variable 'outplist' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/src/webinspector.c:176:14: style: Variable 'key' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicebackup.c:928:6: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] libimobiledevice-1.3.0/tools/idevicebackup.c:1587:8: style: The if condition is the same as the previous if condition [duplicateCondition] libimobiledevice-1.3.0/tools/idevicebackup.c:1580:8: note: First condition libimobiledevice-1.3.0/tools/idevicebackup.c:1587:8: note: Second condition libimobiledevice-1.3.0/tools/idevicebackup.c:538:30: warning:inconclusive: Possible null pointer dereference: domain [nullPointer] libimobiledevice-1.3.0/tools/idevicebackup.c:532:17: note: Assignment 'domain=NULL', assigned value is 0 libimobiledevice-1.3.0/tools/idevicebackup.c:534:11: note: Assuming condition is false libimobiledevice-1.3.0/tools/idevicebackup.c:538:30: note: Null pointer dereference libimobiledevice-1.3.0/tools/idevicebackup.c:539:16: warning:inconclusive: Possible null pointer dereference: domain [nullPointer] libimobiledevice-1.3.0/tools/idevicebackup.c:532:17: note: Assignment 'domain=NULL', assigned value is 0 libimobiledevice-1.3.0/tools/idevicebackup.c:534:11: note: Assuming condition is false libimobiledevice-1.3.0/tools/idevicebackup.c:539:16: note: Null pointer dereference libimobiledevice-1.3.0/tools/idevicebackup.c:562:13: warning:inconclusive: Possible null pointer dereference: auth_version [nullPointer] libimobiledevice-1.3.0/tools/idevicebackup.c:556:23: note: Assignment 'auth_version=NULL', assigned value is 0 libimobiledevice-1.3.0/tools/idevicebackup.c:558:11: note: Assuming condition is false libimobiledevice-1.3.0/tools/idevicebackup.c:562:13: note: Null pointer dereference libimobiledevice-1.3.0/tools/idevicebackup.c:1093:45: warning: Either the condition 'filename_source' is redundant or there is possible null pointer dereference: filename_source. [nullPointerRedundantCheck] libimobiledevice-1.3.0/tools/idevicebackup.c:1096:10: note: Assuming that condition 'filename_source' is not redundant libimobiledevice-1.3.0/tools/idevicebackup.c:1093:45: note: Null pointer dereference libimobiledevice-1.3.0/tools/idevicebackup.c:295:7: style: Variable 'node' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicebackup.c:1378:23: style: Variable 'tmp_node' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicebackup.c:1379:29: style: Variable 'file_path_node' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicebackup.c:1380:29: style: Variable 'send_file_node' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicebackup.c:1518:23: style: Variable 'tmp_node' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicebackup.c:1519:19: style: Variable 'dict' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicebackup.c:1520:20: style: Variable 'array' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicebackup.c:1544:13: style: Variable 'array' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicebackup.c:1545:12: style: Variable 'dict' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicebackup.c:1556:16: style: Variable 'tmp_node' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicedate.c:132:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] libimobiledevice-1.3.0/tools/idevicedate.c:204:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] libimobiledevice-1.3.0/tools/idevicedate.c:228:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] libimobiledevice-1.3.0/tools/idevicedebug.c:118:6: warning: Either the condition 'r' is redundant or there is possible null pointer dereference: r. [nullPointerRedundantCheck] libimobiledevice-1.3.0/tools/idevicedebug.c:166:13: note: Assuming that condition 'r' is not redundant libimobiledevice-1.3.0/tools/idevicedebug.c:118:6: note: Null pointer dereference libimobiledevice-1.3.0/tools/idevicedebug.c:121:16: warning: Either the condition 'o!=NULL' is redundant or there is possible null pointer dereference: o. [nullPointerRedundantCheck] libimobiledevice-1.3.0/tools/idevicedebug.c:123:9: note: Assuming that condition 'o!=NULL' is not redundant libimobiledevice-1.3.0/tools/idevicedebug.c:121:16: note: Null pointer dereference libimobiledevice-1.3.0/tools/idevicedebug.c:140:13: warning: Either the condition 'r' is redundant or there is possible null pointer dereference: r. [nullPointerRedundantCheck] libimobiledevice-1.3.0/tools/idevicedebug.c:166:13: note: Assuming that condition 'r' is not redundant libimobiledevice-1.3.0/tools/idevicedebug.c:140:13: note: Null pointer dereference libimobiledevice-1.3.0/tools/idevicedebug.c:151:13: warning: Either the condition 'r' is redundant or there is possible null pointer dereference: r. [nullPointerRedundantCheck] libimobiledevice-1.3.0/tools/idevicedebug.c:166:13: note: Assuming that condition 'r' is not redundant libimobiledevice-1.3.0/tools/idevicedebug.c:151:13: note: Null pointer dereference libimobiledevice-1.3.0/tools/idevicebackup2.c:255:16: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] libimobiledevice-1.3.0/tools/idevicebackup2.c:1185:16: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] libimobiledevice-1.3.0/tools/idevicebackup2.c:1308:16: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] libimobiledevice-1.3.0/tools/idevicebackup2.c:1894:6: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] libimobiledevice-1.3.0/tools/idevicebackup2.c:854:4: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] libimobiledevice-1.3.0/tools/idevicebackup2.c:890:4: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] libimobiledevice-1.3.0/tools/idevicebackup2.c:890:4: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] libimobiledevice-1.3.0/tools/idevicebackup2.c:965:4: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] libimobiledevice-1.3.0/tools/idevicebackup2.c:2251:6: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] libimobiledevice-1.3.0/tools/idevicebackup2.c:2302:6: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] libimobiledevice-1.3.0/tools/idevicebackup2.c:844:9: style: Checking if unsigned expression 'r' is less than zero. [unsignedLessThanZero] libimobiledevice-1.3.0/tools/idevicebackup2.c:949:16: style: Variable 'rlen' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicebackup2.c:1006:17: style: Variable 'last_code' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicebackup2.c:1077:9: style: Variable 'rlen' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicedebugserverproxy.c:91:26: style: Variable 'res' is assigned a value that is never used. [unreadVariable] libimobiledevice-1.3.0/tools/idevicediagnostics.c:151:28: style: Condition 'argv[i]==NULL' is always false [knownConditionTrueFalse] libimobiledevice-1.3.0/tools/ideviceimagemounter.c:378:8: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] libimobiledevice-1.3.0/tools/ideviceimagemounter.c:378:8: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] libimobiledevice-1.3.0/tools/ideviceimagemounter.c:203:3: error: Memory leak: image_sig_path [memleak] libimobiledevice-1.3.0/tools/ideviceinfo.c:208:2: style: Assignment of function parameter has no effect outside the function. [uselessAssignmentArg] libimobiledevice-1.3.0/tools/ideviceinfo.c:209:2: style: Assignment of function parameter has no effect outside the function. [uselessAssignmentArg] libimobiledevice-1.3.0/tools/idevicenotificationproxy.c:222:17: style: Array index 'i' is used before limits check. [arrayIndexThenCheck] libimobiledevice-1.3.0/tools/idevicenotificationproxy.c:231:17: style: Array index 'i' is used before limits check. [arrayIndexThenCheck] libimobiledevice-1.3.0/tools/idevicenotificationproxy.c:264:14: style: Array index 'i' is used before limits check. [arrayIndexThenCheck] libimobiledevice-1.3.0/tools/idevicenotificationproxy.c:155:28: style: Condition 'argv[i]==NULL' is always false [knownConditionTrueFalse] libimobiledevice-1.3.0/tools/ideviceprovision.c:424:9: style: Condition 'pl' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/tools/ideviceprovision.c:541:6: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] libimobiledevice-1.3.0/tools/ideviceprovision.c:575:8: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] libimobiledevice-1.3.0/tools/ideviceprovision.c:653:6: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] libimobiledevice-1.3.0/tools/idevicescreenshot.c:132:74: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] libimobiledevice-1.3.0/tools/idevicesetlocation.c:120:18: style: Condition 'argc==1' is always true [knownConditionTrueFalse] libimobiledevice-1.3.0/tools/idevicesetlocation.c:113:26: note: Assuming that condition 'argc<1' is not redundant libimobiledevice-1.3.0/tools/idevicesetlocation.c:118:11: note: Assuming that condition 'argc==2' is not redundant libimobiledevice-1.3.0/tools/idevicesetlocation.c:120:18: note: Condition 'argc==1' is always true libimobiledevice-1.3.0/tools/idevicesyslog.c:134:30: portability: Undefined behaviour, pointer arithmetic 'filterstr+filter_len' is out of bounds. [pointerOutOfBounds] libimobiledevice-1.3.0/tools/idevicesyslog.c:617:15: note: Calling function 'add_filter', 1st argument 'QUIET_FILTER' value is "CircleJoinRequested|CommCenter|HeuristicInterpreter|MobileMail|PowerUIAgent|ProtectedCloudKeySyncing|SpringBoard|UserEventAgent|WirelessRadioManagerd|accessoryd|accountsd|aggregated|analyticsd|appstored|apsd|assetsd|assistant_service|backboardd|biometrickitd|bluetoothd|calaccessd|callservicesd|cloudd|com.apple.Safari.SafeBrowsing.Service|contextstored|corecaptured|coreduetd|corespeechd|cdpd|dasd|dataaccessd|distnoted|dprivacyd|duetexpertd|findmydeviced|fmfd|fmflocatord|gpsd|healthd|homed|identityservicesd|imagent|itunescloudd|itunesstored|kernel|locationd|maild|mDNSResponder|mediaremoted|mediaserverd|mobileassetd|nanoregistryd|nanotimekitcompaniond|navd|nsurlsessiond|passd|pasted|photoanalysisd|powerd|powerlogHelperd|ptpd|rapportd|remindd|routined|runningboardd|searchd|sharingd|suggestd|symptomsd|timed|thermalmonitord|useractivityd|vmd|wifid|wirelessproxd" libimobiledevice-1.3.0/tools/idevicesyslog.c:132:25: note: Assignment 'filter_len=strlen(filterstr)', assigned value is 867 libimobiledevice-1.3.0/tools/idevicesyslog.c:134:30: note: Pointer arithmetic overflow libimobiledevice-1.3.0/tools/idevicesyslog.c:214:21: style: Redundant initialization for 'device_name_end'. The initialized value is overwritten before it is read. [redundantInitialization] libimobiledevice-1.3.0/tools/idevicesyslog.c:212:27: note: device_name_end is initialized libimobiledevice-1.3.0/tools/idevicesyslog.c:214:21: note: device_name_end is overwritten libimobiledevice-1.3.0/tools/idevicesyslog.c:287:19: style: Redundant initialization for 'proc_name_end'. The initialized value is overwritten before it is read. [redundantInitialization] libimobiledevice-1.3.0/tools/idevicesyslog.c:275:25: note: proc_name_end is initialized libimobiledevice-1.3.0/tools/idevicesyslog.c:287:19: note: proc_name_end is overwritten libimobiledevice-1.3.0/tools/idevicesyslog.c:174:46: style: Parameter 'end' can be declared as pointer to const [constParameter] diff: head libimobiledevice-1.3.0/src/afc.c:357:40: style: Parameter 'string' can be declared as pointer to const [constParameter] 2.8 libimobiledevice-1.3.0/src/afc.c:357:40: style: Parameter 'string' can be declared with const [constParameter] head libimobiledevice-1.3.0/src/idevice.c:849:18: style: Condition 'tbytes=length' is not redundant libimobiledevice-1.3.0/src/idevice.c:849:18: note: Condition 'tbytes