2026-02-20 03:05 ftp://ftp.de.debian.org/debian/pool/main/c/cairodevice/cairodevice_2.28.2.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=gtk --library=cairo --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 -j12 platform: Linux-6.18.9+deb14-amd64-x86_64-with-glibc2.42 python: 3.13.12 client-version: 1.3.69 compiler: g++ (Debian 15.2.0-13) 15.2.0 cppcheck: head 2.19.0 head-info: 179f04a0 (2026-02-19 22:01:17 +0100) count: 38 5 elapsed-time: 0.3 0.1 head-timing-info: old-timing-info: head results: cairoDevice/src/gtk.c:161:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_InputHandlers [valueFlowBailoutIncompleteVar] cairoDevice/src/gtk.c:76:5: error: Memory leak: timeout [memleak] cairoDevice/src/gtk.c:17:26: style: Parameter 'userData' can be declared as pointer to const [constParameterPointer] cairoDevice/src/gtk.c:94:7: style: Unused variable: fds [unusedVariable] cairoDevice/src/cairoDevice.c:107:68: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_ReleaseObject [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:147:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_CROSSHAIR [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:227:70: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_STATE_NORMAL [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:251:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_NilValue [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:300:58: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable meMouseMove [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:330:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_NilValue [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:398:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_EXPOSURE_MASK [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:456:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CAIRO_FORMAT_ARGB32 [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:538:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PANGO_WEIGHT_BOLD [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:627:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CAIRO_LINE_CAP_ROUND [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:676:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CAIRO_ANTIALIAS_NONE [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:717:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable mbcslocale [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:893:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CAIRO_FILL_RULE_EVEN_ODD [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:1243:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_WATCH [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:1251:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_CROSSHAIR [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:1301:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_NilValue [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:1307:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_NilValue [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:1313:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_NilValue [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:1406:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_TRANWHITE [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:1498:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_GE_version [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:1532:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PROBLEM [valueFlowBailoutIncompleteVar] cairoDevice/src/cairoDevice.c:347:15: style: Condition 'event->active' is always true [knownConditionTrueFalse] cairoDevice/src/cairoDevice.c:346:19: note: Assignment 'event->active=!0', assigned value is 1 cairoDevice/src/cairoDevice.c:347:15: note: Condition 'event->active' is always true cairoDevice/src/cairoDevice.c:1226:14: style: Condition 'info->active' is always true [knownConditionTrueFalse] cairoDevice/src/cairoDevice.c:1225:18: note: Assignment 'info->active=!0', assigned value is 1 cairoDevice/src/cairoDevice.c:1226:14: note: Condition 'info->active' is always true cairoDevice/src/cairoDevice.c:124:53: style: Parameter 'cd' can be declared as pointer to const [constParameterPointer] cairoDevice/src/cairoDevice.c:250:14: style: Variable 'cd' can be declared as pointer to const [constVariablePointer] cairoDevice/src/cairoDevice.c:959:50: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] cairoDevice/src/cairoDevice.c:959:61: style: Parameter 'y' can be declared as pointer to const [constParameterPointer] cairoDevice/src/cairoDevice.c:1173:22: style: Parameter 'event' can be declared as pointer to const. However it seems that 'locator_button_press' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] cairoDevice/src/cairoDevice.c:1217:22: note: You might need to cast the function pointer here cairoDevice/src/cairoDevice.c:1173:22: note: Parameter 'event' can be declared as pointer to const cairoDevice/src/cairoDevice.c:1322:14: style: Variable 'success' can be declared as pointer to const [constVariablePointer] cairoDevice/src/cairoDevice.c:1522:18: style: Parameter 'in_width' can be declared as pointer to const [constParameterPointer] cairoDevice/src/cairoDevice.c:1522:36: style: Parameter 'in_height' can be declared as pointer to const [constParameterPointer] cairoDevice/src/cairoDevice.c:1522:55: style: Parameter 'in_pointsize' can be declared as pointer to const [constParameterPointer] cairoDevice/src/cairoDevice.c:461:13: style: Variable 'width' is assigned a value that is never used. [unreadVariable] cairoDevice/src/cairoDevice.c:462:14: style: Variable 'height' is assigned a value that is never used. [unreadVariable] diff: head cairoDevice/src/cairoDevice.c:107:68: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_ReleaseObject [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:1173:22: style: Parameter 'event' can be declared as pointer to const. However it seems that 'locator_button_press' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] cairoDevice/src/cairoDevice.c:1217:22: note: You might need to cast the function pointer here cairoDevice/src/cairoDevice.c:1173:22: note: Parameter 'event' can be declared as pointer to const head cairoDevice/src/cairoDevice.c:1226:14: style: Condition 'info->active' is always true [knownConditionTrueFalse] cairoDevice/src/cairoDevice.c:1225:18: note: Assignment 'info->active=!0', assigned value is 1 cairoDevice/src/cairoDevice.c:1226:14: note: Condition 'info->active' is always true head cairoDevice/src/cairoDevice.c:1243:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_WATCH [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:124:53: style: Parameter 'cd' can be declared as pointer to const [constParameterPointer] head cairoDevice/src/cairoDevice.c:1251:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_CROSSHAIR [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:1301:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_NilValue [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:1307:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_NilValue [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:1313:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_NilValue [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:1322:14: style: Variable 'success' can be declared as pointer to const [constVariablePointer] head cairoDevice/src/cairoDevice.c:1406:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_TRANWHITE [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:147:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_CROSSHAIR [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:1498:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_GE_version [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:1522:18: style: Parameter 'in_width' can be declared as pointer to const [constParameterPointer] head cairoDevice/src/cairoDevice.c:1522:36: style: Parameter 'in_height' can be declared as pointer to const [constParameterPointer] head cairoDevice/src/cairoDevice.c:1522:55: style: Parameter 'in_pointsize' can be declared as pointer to const [constParameterPointer] head cairoDevice/src/cairoDevice.c:1532:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PROBLEM [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:227:70: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_STATE_NORMAL [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:250:14: style: Variable 'cd' can be declared as pointer to const [constVariablePointer] head cairoDevice/src/cairoDevice.c:251:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_NilValue [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:300:58: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable meMouseMove [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:330:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable R_NilValue [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:347:15: style: Condition 'event->active' is always true [knownConditionTrueFalse] cairoDevice/src/cairoDevice.c:346:19: note: Assignment 'event->active=!0', assigned value is 1 cairoDevice/src/cairoDevice.c:347:15: note: Condition 'event->active' is always true head cairoDevice/src/cairoDevice.c:398:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_EXPOSURE_MASK [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:456:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CAIRO_FORMAT_ARGB32 [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:461:13: style: Variable 'width' is assigned a value that is never used. [unreadVariable] head cairoDevice/src/cairoDevice.c:462:14: style: Variable 'height' is assigned a value that is never used. [unreadVariable] head cairoDevice/src/cairoDevice.c:538:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PANGO_WEIGHT_BOLD [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:627:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CAIRO_LINE_CAP_ROUND [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:676:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CAIRO_ANTIALIAS_NONE [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:717:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable mbcslocale [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:893:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CAIRO_FILL_RULE_EVEN_ODD [valueFlowBailoutIncompleteVar] head cairoDevice/src/cairoDevice.c:959:50: style: Parameter 'x' can be declared as pointer to const [constParameterPointer] head cairoDevice/src/cairoDevice.c:959:61: style: Parameter 'y' can be declared as pointer to const [constParameterPointer] 2.19.0 cairoDevice/src/cairoDevice.h:6:2: error: failed to evaluate #if condition, undefined function-like macro invocation: CAIRO_VERSION_ENCODE( ... ) [syntaxError] DONE