2026-05-02 00:18 ftp://ftp.de.debian.org/debian/pool/main/g/garmin-forerunner-tools/garmin-forerunner-tools_0.10repacked.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j1 platform: Linux-6.8.0-1047-aws-aarch64-with-glibc2.35 python: 3.10.12 client-version: 1.4.0 compiler: g++ (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0 cppcheck: head 2.20.0 head-info: e5c4a73 (2026-05-01 11:10:43 +0200) count: 218 215 elapsed-time: 5.2 4.3 head-timing-info: old-timing-info: head results: garmintools-0.10/src/byte_util.c:178:24: error: Common realloc mistake: 'ret' nulled but not freed upon failure [memleakOnRealloc] garmintools-0.10/src/byte_util.c:103:11: warning: If memory allocation fails, then there is a possible null pointer dereference: ret [nullPointerOutOfMemory] garmintools-0.10/src/byte_util.c:102:15: note: Assuming allocation function fails garmintools-0.10/src/byte_util.c:102:15: note: Assignment 'ret=malloc(bytes)', assigned value is 0 garmintools-0.10/src/byte_util.c:103:11: note: Null pointer dereference garmintools-0.10/src/byte_util.c:127:11: warning: If memory allocation fails, then there is a possible null pointer dereference: ret [nullPointerOutOfMemory] garmintools-0.10/src/byte_util.c:126:15: note: Assuming allocation function fails garmintools-0.10/src/byte_util.c:126:15: note: Assignment 'ret=malloc(bytes)', assigned value is 0 garmintools-0.10/src/byte_util.c:127:11: note: Null pointer dereference garmintools-0.10/src/byte_util.c:174:13: warning: If memory allocation fails, then there is a possible null pointer dereference: elem [nullPointerOutOfMemory] garmintools-0.10/src/byte_util.c:173:18: note: Assuming allocation function fails garmintools-0.10/src/byte_util.c:173:18: note: Assignment 'elem=malloc(bytes)', assigned value is 0 garmintools-0.10/src/byte_util.c:174:13: note: Null pointer dereference garmintools-0.10/src/byte_util.c:181:5: warning: If memory allocation fails, then there is a possible null pointer dereference: ret [nullPointerOutOfMemory] garmintools-0.10/src/byte_util.c:179:36: note: Assuming allocation function fails garmintools-0.10/src/byte_util.c:179:36: note: Assignment 'ret=malloc(2*sizeof(char*))', assigned value is 0 garmintools-0.10/src/byte_util.c:181:5: note: Null pointer dereference garmintools-0.10/src/byte_util.c:182:5: warning: If memory allocation fails, then there is a possible null pointer dereference: ret [nullPointerOutOfMemory] garmintools-0.10/src/byte_util.c:179:36: note: Assuming allocation function fails garmintools-0.10/src/byte_util.c:179:36: note: Assignment 'ret=malloc(2*sizeof(char*))', assigned value is 0 garmintools-0.10/src/byte_util.c:182:5: note: Null pointer dereference garmintools-0.10/src/byte_util.c:69:1: portability:inconclusive: Casting from float * to unsigned char * is not portable due to different binary data representations on different platforms. [invalidPointerCast] garmintools-0.10/src/byte_util.c:70:1: portability:inconclusive: Casting from double * to unsigned char * is not portable due to different binary data representations on different platforms. [invalidPointerCast] garmintools-0.10/src/byte_util.c:76:1: portability:inconclusive: Casting from const float * to unsigned char * is not portable due to different binary data representations on different platforms. [invalidPointerCast] garmintools-0.10/src/byte_util.c:77:1: portability:inconclusive: Casting from const double * to unsigned char * is not portable due to different binary data representations on different platforms. [invalidPointerCast] garmintools-0.10/src/byte_util.c:89:10: style: Variable 'cursor' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/byte_util.c:120:10: style: Variable 'cursor' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/byte_util.c:154:11: style: Variable 'cursor' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/command.c:140:47: style: Parameter 'garmin' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/datatype.c:34:3: warning: If memory allocation fails, then there is a possible null pointer dereference: d [nullPointerOutOfMemory] garmintools-0.10/src/datatype.c:32:27: note: Assuming allocation function fails garmintools-0.10/src/datatype.c:32:27: note: Assignment 'd=malloc(sizeof(struct garmin_data))', assigned value is 0 garmintools-0.10/src/datatype.c:34:3: note: Null pointer dereference garmintools-0.10/src/datatype.c:110:3: warning: If memory allocation fails, then there is a possible null pointer dereference: l [nullPointerOutOfMemory] garmintools-0.10/src/datatype.c:109:13: note: Assuming allocation function fails garmintools-0.10/src/datatype.c:109:13: note: Assignment 'l=calloc(1,sizeof(struct garmin_list))', assigned value is 0 garmintools-0.10/src/datatype.c:110:3: note: Null pointer dereference garmintools-0.10/src/datatype.c:126:5: warning: If memory allocation fails, then there is a possible null pointer dereference: n [nullPointerOutOfMemory] garmintools-0.10/src/datatype.c:124:15: note: Assuming allocation function fails garmintools-0.10/src/datatype.c:124:15: note: Assignment 'n=malloc(sizeof(struct garmin_list_node))', assigned value is 0 garmintools-0.10/src/datatype.c:126:5: note: Null pointer dereference garmintools-0.10/src/datatype.c:127:5: warning: If memory allocation fails, then there is a possible null pointer dereference: n [nullPointerOutOfMemory] garmintools-0.10/src/datatype.c:124:15: note: Assuming allocation function fails garmintools-0.10/src/datatype.c:124:15: note: Assignment 'n=malloc(sizeof(struct garmin_list_node))', assigned value is 0 garmintools-0.10/src/datatype.c:127:5: note: Null pointer dereference garmintools-0.10/src/datatype.c:383:2: style: Variable 'd105' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/datatype.c:384:2: style: Variable 'd106' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/datatype.c:386:2: style: Variable 'd108' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/datatype.c:387:2: style: Variable 'd109' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/datatype.c:388:2: style: Variable 'd110' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/datatype.c:397:2: style: Variable 'd202' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/datatype.c:398:2: style: Variable 'd210' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/datatype.c:404:2: style: Variable 'd310' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/datatype.c:406:2: style: Variable 'd312' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/datatype.c:415:2: style: Variable 'd650' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/garmin_dump.c:33:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] garmintools-0.10/src/garmin_gchart.c:362:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] garmintools-0.10/src/garmin_gchart.c:99:23: style: Variable 'd304' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/garmin_gchart.c:136:20: style: Parameter 'conf' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/garmin_gchart.c:137:20: style: Parameter 'max' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/garmin_gchart.c:146:23: style: Variable 'd304' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/garmin_gchart.c:82:11: error: Modifying string literal "__" directly or indirectly is undefined behaviour. [stringLiteralWrite] garmintools-0.10/src/garmin_gchart.c:84:3: note: Modifying string literal "__" directly or indirectly is undefined behaviour. garmintools-0.10/src/garmin_gchart.c:82:11: note: Modifying string literal "__" directly or indirectly is undefined behaviour. garmintools-0.10/src/garmin_gchart.c:82:11: error: Modifying string literal "__" directly or indirectly is undefined behaviour. [stringLiteralWrite] garmintools-0.10/src/garmin_gchart.c:85:3: note: Modifying string literal "__" directly or indirectly is undefined behaviour. garmintools-0.10/src/garmin_gchart.c:82:11: note: Modifying string literal "__" directly or indirectly is undefined behaviour. garmintools-0.10/src/garmin_gchart.c:82:11: error: Modifying string literal "__" directly or indirectly is undefined behaviour. [stringLiteralWrite] garmintools-0.10/src/garmin_gchart.c:86:3: note: Modifying string literal "__" directly or indirectly is undefined behaviour. garmintools-0.10/src/garmin_gchart.c:82:11: note: Modifying string literal "__" directly or indirectly is undefined behaviour. garmintools-0.10/src/garmin_gchart.c:27:10: style: struct member 'd304strs::heart_rate' is never used. [unusedStructMember] garmintools-0.10/src/garmin_gchart.c:28:10: style: struct member 'd304strs::heart_rate_len' is never used. [unusedStructMember] garmintools-0.10/src/garmin_gchart.c:29:10: style: struct member 'd304strs::cadence' is never used. [unusedStructMember] garmintools-0.10/src/garmin_gchart.c:30:10: style: struct member 'd304strs::cadence_len' is never used. [unusedStructMember] garmintools-0.10/src/garmin_gchart.c:34:23: style: struct member 'D304_ext::posn' is never used. [unusedStructMember] garmintools-0.10/src/garmin_gchart.c:40:23: style: struct member 'D304_ext::sensor' is never used. [unusedStructMember] garmintools-0.10/src/garmin_gchart.c:150:9: style: Variable 'i' is assigned a value that is never used. [unreadVariable] garmintools-0.10/src/garmin_get_info.c:37:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] garmintools-0.10/src/garmin_gmap.c:264:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] garmintools-0.10/src/garmin_gmap.c:153:8: warning: If memory allocation fails, then there is a possible null pointer dereference: *levels [nullPointerOutOfMemory] garmintools-0.10/src/garmin_gmap.c:93:23: note: Assuming allocation function fails garmintools-0.10/src/garmin_gmap.c:93:23: note: Assignment '*levels=malloc(2*dlist->elements)', assigned value is 0 garmintools-0.10/src/garmin_gmap.c:153:8: note: Null pointer dereference garmintools-0.10/src/garmin_gmap.c:209:34: warning: Either the condition 'points!=NULL' is redundant or there is possible null pointer dereference: val. [nullPointerRedundantCheck] garmintools-0.10/src/garmin_gmap.c:250:17: note: Assuming that condition 'points!=NULL' is not redundant garmintools-0.10/src/garmin_gmap.c:245:31: note: Calling function 'print_string_tag', 2nd argument 'points' value is 0 garmintools-0.10/src/garmin_gmap.c:209:34: note: Null pointer dereference garmintools-0.10/src/garmin_gpx.c:233:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] garmintools-0.10/src/garmin_gpx.c:170:9: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] garmintools-0.10/src/garmin_gpx.c:193:10: warning: Either the condition 'points!=NULL' is redundant or there is possible null pointer dereference: rp. [nullPointerRedundantCheck] garmintools-0.10/src/garmin_gpx.c:220:17: note: Assuming that condition 'points!=NULL' is not redundant garmintools-0.10/src/garmin_gpx.c:216:24: note: Calling function 'print_route_points', 1st argument 'points' value is 0 garmintools-0.10/src/garmin_gpx.c:192:22: note: Assignment 'rp=points', assigned value is 0 garmintools-0.10/src/garmin_gpx.c:193:10: note: Null pointer dereference garmintools-0.10/src/garmin_gpx.c:168:14: style: Variable 'tmp' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/garmin_gpx.c:192:17: style: Variable 'rp' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/pack.c:1085:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] garmintools-0.10/src/pack.c:1176:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] garmintools-0.10/src/pack.c:1219:4: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/pack.c:1219:4: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/pack.c:1230:2: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/pack.c:54:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:68:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:84:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:100:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:116:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:133:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:146:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:162:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:180:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:208:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:237:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:269:27: style: Parameter 'cat' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:280:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:299:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:321:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:343:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:366:27: style: Parameter 'wpt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:390:27: style: Parameter 'hdr' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:401:27: style: Parameter 'hdr' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:413:27: style: Parameter 'hdr' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:424:27: style: Parameter 'link' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:437:27: style: Parameter 'point' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:450:27: style: Parameter 'point' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:465:27: style: Parameter 'point' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:481:27: style: Parameter 'point' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:495:27: style: Parameter 'point' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:512:27: style: Parameter 'hdr' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:525:27: style: Parameter 'hdr' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:536:27: style: Parameter 'hdr' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:589:27: style: Parameter 'alm' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:610:27: style: Parameter 'alm' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:632:27: style: Parameter 'alm' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:654:27: style: Parameter 'alm' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:677:27: style: Parameter 'dt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:693:27: style: Parameter 'fbr' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:718:27: style: Parameter 'pt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:729:27: style: Parameter 'pvt' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:752:27: style: Parameter 'lap' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:792:29: style: Parameter 'lap' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:839:29: style: Parameter 'occ' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:884:29: style: Parameter 'limits' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:897:29: style: Parameter 'course' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:911:29: style: Parameter 'lap' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:982:29: style: Parameter 'lap' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:1006:29: style: Parameter 'point' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:1022:29: style: Parameter 'limits' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/pack.c:1257:11: style: Variable 'start' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/pack.c:1258:11: style: Variable 'finish' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/pack.c:1238:43: error: Uninitialized variable: path [uninitvar] garmintools-0.10/src/pack.c:1171:22: style: Variable 'packed' is assigned a value that is never used. [unreadVariable] garmintools-0.10/src/pack.c:1172:22: style: Variable 'wrote' is assigned a value that is never used. [unreadVariable] garmintools-0.10/src/print.c:176:8: warning: Either the condition 'len>0' is redundant or the array 'buf[128]' is accessed at index -1, which is out of bounds. [negativeIndex] garmintools-0.10/src/print.c:174:12: note: Assuming that condition 'len>0' is not redundant garmintools-0.10/src/print.c:176:8: note: Negative array index garmintools-0.10/src/print.c:1763:29: style: Condition 'npt++' is always false [knownConditionTrueFalse] garmintools-0.10/src/print.c:1748:13: note: Assignment 'npt=0', assigned value is 0 garmintools-0.10/src/print.c:1763:29: note: Condition 'npt++' is always false garmintools-0.10/src/print.c:122:3: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/print.c:1387:3: portability: %u in format string (no. 2) requires 'unsigned int' but the argument type is 'sint32 {aka signed int}'. [invalidPrintfArgType_uint] garmintools-0.10/src/print.c:1460:3: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/print.c:1497:3: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/print.c:1543:3: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/print.c:1665:3: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/print.c:1665:3: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/print.c:1665:3: portability: %d in format string (no. 3) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/print.c:1815:3: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/print.c:1927:3: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/print.c:1927:3: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/print.c:1927:3: portability: %d in format string (no. 3) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/print.c:1927:3: portability: %d in format string (no. 4) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/print.c:1977:35: style:inconclusive: Function 'garmin_print_data' argument 1 names different: declaration 'data' definition 'd'. [funcArgNamesDifferent] garmintools-0.10/src/garmin.h:2009:45: note: Function 'garmin_print_data' argument 1 names different: declaration 'data' definition 'd'. garmintools-0.10/src/print.c:1977:35: note: Function 'garmin_print_data' argument 1 names different: declaration 'data' definition 'd'. garmintools-0.10/src/print.c:2055:40: style:inconclusive: Function 'garmin_print_protocols' argument 1 names different: declaration 'unit' definition 'garmin'. [funcArgNamesDifferent] garmintools-0.10/src/garmin.h:2010:45: note: Function 'garmin_print_protocols' argument 1 names different: declaration 'unit' definition 'garmin'. garmintools-0.10/src/print.c:2055:40: note: Function 'garmin_print_protocols' argument 1 names different: declaration 'unit' definition 'garmin'. garmintools-0.10/src/print.c:188:37: style: Parameter 'pos' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:335:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:350:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:367:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:414:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:441:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:459:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:474:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:504:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:564:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:592:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:675:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:709:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:734:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:769:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:807:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:849:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:896:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:924:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:936:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:949:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:973:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1093:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1108:28: style: Parameter 'h' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1143:28: style: Parameter 'h' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1205:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1228:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1252:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1276:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1301:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1315:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1343:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1398:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1494:30: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1538:30: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1600:30: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1613:31: style: Parameter 'd' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1662:30: style: Parameter 'limits' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1679:30: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1695:30: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1850:30: style: Parameter 'lap' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1907:30: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1924:30: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:1941:30: style: Parameter 'lap' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/print.c:2055:40: style: Parameter 'garmin' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/protocol.c:553:53: portability: Undefined behaviour, pointer arithmetic 'p.packet.data+2' is out of bounds. [pointerOutOfBounds] garmintools-0.10/src/protocol.c:202:32: warning: If memory allocation fails, then there is a possible null pointer dereference: ret [nullPointerOutOfMemory] garmintools-0.10/src/protocol.c:201:17: note: Assuming allocation function fails garmintools-0.10/src/protocol.c:201:17: note: Assignment 'ret=calloc(n1+n2+1,sizeof(char*))', assigned value is 0 garmintools-0.10/src/protocol.c:202:32: note: Null pointer dereference garmintools-0.10/src/protocol.c:203:32: warning: If memory allocation fails, then there is a possible null pointer dereference: ret [nullPointerOutOfMemory] garmintools-0.10/src/protocol.c:201:17: note: Assuming allocation function fails garmintools-0.10/src/protocol.c:201:17: note: Assignment 'ret=calloc(n1+n2+1,sizeof(char*))', assigned value is 0 garmintools-0.10/src/protocol.c:203:32: note: Null pointer dereference garmintools-0.10/src/protocol.c:33:20: style: Parameter 'datatypes' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/protocol.c:253:31: style: Variable 'expected' is assigned a value that is never used. [unreadVariable] garmintools-0.10/src/protocol.c:322:31: style: Variable 'expected' is assigned a value that is never used. [unreadVariable] garmintools-0.10/src/protocol.c:424:31: style: Variable 'expected' is assigned a value that is never used. [unreadVariable] garmintools-0.10/src/run.c:200:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] garmintools-0.10/src/run.c:302:13: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] garmintools-0.10/src/run.c:244:6: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/run.c:257:6: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/run.c:257:6: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/run.c:257:6: portability: %d in format string (no. 3) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/run.c:269:5: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/run.c:269:5: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/run.c:269:5: portability: %d in format string (no. 3) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/run.c:278:7: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/run.c:33:11: style: Variable 'd1000' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/run.c:34:11: style: Variable 'd1009' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/run.c:35:11: style: Variable 'd1010' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/run.c:71:11: style: Variable 'd1001' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/run.c:72:11: style: Variable 'd1011' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/run.c:73:11: style: Variable 'd1015' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/run.c:103:11: style: Variable 'd1001' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/run.c:104:11: style: Variable 'd1011' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/run.c:105:11: style: Variable 'd1015' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/run.c:137:22: style: Variable 'd311' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/run.c:201:23: style: Variable 'filedir' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/run.c:204:23: style: Variable 'tbuf' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/unpack.c:1172:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] garmintools-0.10/src/unpack.c:1091:7: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/unpack.c:1142:7: portability: %d in format string (no. 1) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/unpack.c:1142:7: portability: %d in format string (no. 2) requires 'int' but the argument type is 'uint32 {aka unsigned int}'. [invalidPrintfArgType_sint] garmintools-0.10/src/unpack.c:1243:34: style:inconclusive: Function 'garmin_unpack' argument 1 names different: declaration 'buf' definition 'pos'. [funcArgNamesDifferent] garmintools-0.10/src/garmin.h:1990:55: note: Function 'garmin_unpack' argument 1 names different: declaration 'buf' definition 'pos'. garmintools-0.10/src/unpack.c:1243:34: note: Function 'garmin_unpack' argument 1 names different: declaration 'buf' definition 'pos'. garmintools-0.10/src/unpack.c:1104:17: style: Variable 'start' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/unpack.c:1086:5: style: Variable 'size' is assigned a value that is never used. [unreadVariable] garmintools-0.10/src/unpack.c:1125:5: style: Variable 'size' is assigned a value that is never used. [unreadVariable] garmintools-0.10/src/usb_comm.c:66:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable usb_busses [valueFlowBailoutIncompleteVar] garmintools-0.10/src/usb_comm.c:273:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] garmintools-0.10/src/usb_comm.c:291:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] garmintools-0.10/src/usb_comm.c:87:16: style: Condition '!err' is always true [knownConditionTrueFalse] garmintools-0.10/src/usb_comm.c:82:10: note: Assignment 'err=0', assigned value is 0 garmintools-0.10/src/usb_comm.c:87:16: note: Condition '!err' is always true garmintools-0.10/src/usb_comm.c:56:24: style: Variable 'bi' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/usb_comm.c:115:41: style: Variable 'ep' can be declared as pointer to const [constVariablePointer] garmintools-0.10/src/usb_comm.c:185:36: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/usb_comm.c:192:38: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/usb_comm.c:209:23: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] garmintools-0.10/src/garmin_gmap.c:209:34: warning: Null pointer dereference: val [ctunullpointer] garmintools-0.10/src/garmin_gmap.c:250:17: note: Assuming that condition 'points!=NULL' is not redundant garmintools-0.10/src/garmin_gmap.c:245:21: note: Calling function print_string_tag, 2nd argument is null garmintools-0.10/src/garmin_gmap.c:209:34: note: Dereferencing argument val that is null diff: head garmintools-0.10/src/print.c:1093:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] head garmintools-0.10/src/print.c:1143:28: style: Parameter 'h' can be declared as pointer to const [constParameterPointer] head garmintools-0.10/src/print.c:474:28: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] DONE