2026-06-29 15:28 ftp://ftp.de.debian.org/debian/pool/main/r/r-cran-data.table/r-cran-data.table_1.18.4+dfsg.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --library=zlib --library=openmp --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 -j2 platform: Linux-6.12.94+deb13-amd64-x86_64-with-glibc2.41 python: 3.13.5 client-version: 1.4.0 compiler: g++ (20250906) 15.2.0 cppcheck: head 2.21.0 head-info: 86f4c91 (2026-06-26 08:32:09 +0200) count: 79 79 elapsed-time: 1.6 1.6 head-timing-info: old-timing-info: head results: data.table/src/data.table.h:5:2: error: failed to evaluate #if condition, undefined function-like macro invocation: R_Version( ... ) [syntaxError] data.table/src/fread.c:100:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NAN [valueFlowBailoutIncompleteVar] data.table/src/fread.c:183:76: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] data.table/src/fread.c:244:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] data.table/src/fread.c:1429:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] data.table/src/fwrite.c:706:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] data.table/src/fwrite.c:285:36: style: Condition 'isWholeNumber' is always true [knownConditionTrueFalse] data.table/src/fwrite.c:281:13: note: Assuming that condition 'dr' is not redundant data.table/src/fwrite.c:269:32: note: isWholeNumber is assigned 'dr==0&&dl0>=0' here. data.table/src/fwrite.c:285:36: note: Condition 'isWholeNumber' is always true data.table/src/fwrite.c:1038:25: style: Condition '!failed' is always true [knownConditionTrueFalse] data.table/src/fwrite.c:1000:9: note: Assuming that condition 'failed' is not redundant data.table/src/fwrite.c:1038:25: note: Condition '!failed' is always true data.table/src/fwrite.c:629:3: style:inconclusive: Same expression used in consecutive assignments of 'doQuote' and 'quoteHeaders'. [duplicateAssignExpression] data.table/src/fwrite.c:630:10: note: Same expression used in consecutive assignments of 'doQuote' and 'quoteHeaders'. data.table/src/fwrite.c:629:3: note: Same expression used in consecutive assignments of 'doQuote' and 'quoteHeaders'. data.table/src/fwrite.c:1100:19: style: Same expression in both branches of ternary operator. [duplicateExpressionTernary] data.table/src/fwrite.c:1155:13: style: Same expression in both branches of ternary operator. [duplicateExpressionTernary] data.table/src/fwrite.c:55:37: style:inconclusive: Function 'write_chars' argument 1 names different: declaration 'source' definition 'x'. [funcArgNamesDifferent] data.table/src/fwrite.h:35:30: note: Function 'write_chars' argument 1 names different: declaration 'source' definition 'x'. data.table/src/fwrite.c:55:37: note: Function 'write_chars' argument 1 names different: declaration 'source' definition 'x'. data.table/src/fwrite.c:55:47: style:inconclusive: Function 'write_chars' argument 2 names different: declaration 'dest' definition 'pch'. [funcArgNamesDifferent] data.table/src/fwrite.h:35:45: note: Function 'write_chars' argument 2 names different: declaration 'dest' definition 'pch'. data.table/src/fwrite.c:55:47: note: Function 'write_chars' argument 2 names different: declaration 'dest' definition 'pch'. data.table/src/fwrite.c:64:29: style:inconclusive: Function 'writeBool8' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:64:42: style:inconclusive: Function 'writeBool8' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:64:54: style:inconclusive: Function 'writeBool8' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:72:30: style:inconclusive: Function 'writeBool32' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:72:43: style:inconclusive: Function 'writeBool32' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:72:55: style:inconclusive: Function 'writeBool32' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:84:38: style:inconclusive: Function 'writeBool32AsString' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:84:51: style:inconclusive: Function 'writeBool32AsString' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:84:63: style:inconclusive: Function 'writeBool32AsString' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:110:29: style:inconclusive: Function 'writeInt32' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:110:42: style:inconclusive: Function 'writeInt32' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:110:54: style:inconclusive: Function 'writeInt32' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:126:29: style:inconclusive: Function 'writeInt64' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:126:42: style:inconclusive: Function 'writeInt64' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:126:54: style:inconclusive: Function 'writeInt64' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:181:31: style:inconclusive: Function 'writeFloat64' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:181:44: style:inconclusive: Function 'writeFloat64' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:181:56: style:inconclusive: Function 'writeFloat64' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:319:31: style:inconclusive: Function 'writeComplex' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:319:44: style:inconclusive: Function 'writeComplex' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:319:56: style:inconclusive: Function 'writeComplex' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:358:29: style:inconclusive: Function 'writeITime' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:358:42: style:inconclusive: Function 'writeITime' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:358:54: style:inconclusive: Function 'writeITime' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:412:33: style:inconclusive: Function 'writeDateInt32' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:412:46: style:inconclusive: Function 'writeDateInt32' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:412:58: style:inconclusive: Function 'writeDateInt32' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:416:35: style:inconclusive: Function 'writeDateFloat64' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:416:48: style:inconclusive: Function 'writeDateFloat64' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:416:60: style:inconclusive: Function 'writeDateFloat64' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:421:31: style:inconclusive: Function 'writePOSIXct' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:421:44: style:inconclusive: Function 'writePOSIXct' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:421:56: style:inconclusive: Function 'writePOSIXct' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:484:32: style:inconclusive: Function 'writeNanotime' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:484:45: style:inconclusive: Function 'writeNanotime' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:484:57: style:inconclusive: Function 'writeNanotime' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:568:30: style:inconclusive: Function 'writeString' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:568:43: style:inconclusive: Function 'writeString' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:568:55: style:inconclusive: Function 'writeString' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:573:35: style:inconclusive: Function 'writeCategString' argument 1 names different: declaration '' definition 'col'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:573:48: style:inconclusive: Function 'writeCategString' argument 2 names different: declaration '' definition 'row'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:573:60: style:inconclusive: Function 'writeCategString' argument 3 names different: declaration '' definition 'pch'. [funcArgNamesDifferentUnnamed] data.table/src/fwrite.c:295:18: style: Local variable 'i' shadows outer variable [shadowVariable] data.table/src/fwrite.c:219:9: note: Shadowed variable data.table/src/fwrite.c:295:18: note: Shadow local variable data.table/src/fwrite.c:400:31: style: Variable 'md' is assigned a value that is never used. [unreadVariable] data.table/src/fwrite.c:406:29: style: Variable 'y' is assigned a value that is never used. [unreadVariable] data.table/src/fread.c:2938:7: style: The if condition is the same as the previous if condition [duplicateCondition] data.table/src/fread.c:2932:7: note: First condition data.table/src/fread.c:2938:7: note: Second condition data.table/src/fread.c:924:15: style: Condition 'ch[0]=='i'' is always false [knownConditionTrueFalse] data.table/src/fread.c:923:13: note: Assuming that condition 'ch[0]=='I'' is not redundant data.table/src/fread.c:924:15: note: Condition 'ch[0]=='i'' is always false data.table/src/fread.c:1033:28: style: Condition 'E<1' is always false [knownConditionTrueFalse] data.table/src/fread.c:1032:32: note: Assignment 'E=1023+(Eneg?-E:E)-subnormal', assigned value is greater than 1021 data.table/src/fread.c:1033:28: note: Condition 'E<1' is always false data.table/src/fread.c:2217:7: error: Common realloc mistake: 'type' nulled but not freed upon failure [memleakOnRealloc] data.table/src/fread.c:2218:7: error: Common realloc mistake: 'tmpType' nulled but not freed upon failure [memleakOnRealloc] data.table/src/fread.c:2724:21: error: Common realloc mistake: 'typeBumpMsg' nulled but not freed upon failure [memleakOnRealloc] data.table/src/fread.c:1035:7: portability: Casting from double * to unsigned long * is not portable due to different binary data representations on different platforms. [invalidPointerCast] data.table/src/fread.c:1769:7: style: Same expression in both branches of ternary operator. [duplicateExpressionTernary] data.table/src/fread.c:1040:5: style: Variable '*target' is assigned an expression that holds the same value. [redundantAssignment] data.table/src/fread.c:999:11: note: *target is assigned 'NA_FLOAT64' here. data.table/src/fread.c:1012:54: note: Assuming condition is false data.table/src/fread.c:1040:5: note: Variable '*target' is assigned an expression that holds the same value. data.table/src/fread.c:1786:12: style: Variable 'pos' is reassigned a value before the old one has been used. [redundantAssignment] data.table/src/fread.c:1773:9: note: pos is assigned data.table/src/fread.c:1786:12: note: pos is overwritten data.table/src/fread.c:2172:6: style: Variable 'ch' is reassigned a value before the old one has been used. [redundantAssignment] data.table/src/fread.c:1986:8: note: ch is assigned data.table/src/fread.c:2172:6: note: ch is overwritten data.table/src/fread.c:2273:13: style: Variable 'estnrow' is reassigned a value before the old one has been used. [redundantAssignment] data.table/src/fread.c:2266:11: note: estnrow is assigned data.table/src/fread.c:2273:13: note: estnrow is overwritten data.table/src/fread.c:353:3: style: Statements following 'return' will never be executed. [unreachableCode] data.table/src/fread.c:1399:29: style:inconclusive: Function 'freadMain' argument 1 names different: declaration 'args' definition '_args'. [funcArgNamesDifferent] data.table/src/fread.h:242:29: note: Function 'freadMain' argument 1 names different: declaration 'args' definition '_args'. data.table/src/fread.c:1399:29: note: Function 'freadMain' argument 1 names different: declaration 'args' definition '_args'. data.table/src/fread.c:316:67: style: Argument 'eof' shadows outer variable [shadowVariable] data.table/src/fread.c:30:26: note: Shadowed variable data.table/src/fread.c:316:67: note: Shadow argument data.table/src/fread.c:331:72: style: Argument 'eof' shadows outer variable [shadowVariable] data.table/src/fread.c:30:26: note: Shadowed variable data.table/src/fread.c:331:72: note: Shadow argument data.table/src/fread.c:520:24: style: Argument 'fileSize' shadows outer variable [shadowVariable] data.table/src/fread.c:78:15: note: Shadowed variable data.table/src/fread.c:520:24: note: Shadow argument data.table/src/fread.c:150:23: style: union member 'Anonymous0::a' is never used. [unusedStructMember] data.table/src/fread.c:384:17: style: Variable 'trash' is not assigned a value. [unassignedVariable] data.table/src/fread.c:2420:56: style: Variable 'restartTeam' is assigned a value that is never used. [unreadVariable] data.table/src/fread.c:2759:79: style: Variable 'tLast' is assigned a value that is never used. [unreadVariable] diff: DONE