2025-08-29 17:03 ftp://ftp.de.debian.org/debian/pool/main/x/xserver-xorg-video-savage/xserver-xorg-video-savage_2.4.1.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=motif --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 -j4 platform: Linux-6.12.41+deb13-amd64-x86_64-with-glibc2.41 python: 3.13.5 client-version: 1.3.67 compiler: g++ (Debian 14.2.0-19) 14.2.0 cppcheck: head 2.18.0 head-info: 478055e (2025-08-29 18:53:24 +0200) count: 2 82 elapsed-time: 0.1 0.6 head-timing-info: old-timing-info: head results: xf86-video-savage-2.4.1/src/savage_driver.h:54:0: error: failed to evaluate #if condition, undefined function-like macro invocation: GET_ABI_MAJOR( ... ) [preprocessorErrorDirective] xf86-video-savage-2.4.1/src/savage_driver.h:54:2: error: failed to evaluate #if condition, undefined function-like macro invocation: GET_ABI_MAJOR( ... ) [preprocessorErrorDirective] diff: 2.18.0 xf86-video-savage-2.4.1/src/savage_accel.c:1277:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_accel.c:1543:9: style: Variable 'ALUCopyROP' can be declared as const array [constVariable] 2.18.0 xf86-video-savage-2.4.1/src/savage_accel.c:250:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_accel.c:855:8: style: int result is assigned to long variable. If the variable is long to avoid loss of information, then you have loss of information. [truncLongCastAssignment] 2.18.0 xf86-video-savage-2.4.1/src/savage_accel.c:864:8: style: int result is assigned to long variable. If the variable is long to avoid loss of information, then you have loss of information. [truncLongCastAssignment] 2.18.0 xf86-video-savage-2.4.1/src/savage_cursor.c:103:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_cursor.c:171:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable hwc_on [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_cursor.c:182:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Chipset [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_cursor.c:199:20: style: Parameter 'src' can be declared as pointer to const. However it seems that 'SavageLoadCursorImage' is a callback function, if 'src' is declared with const you might also need to cast function pointer(s). [constParameterCallback] xf86-video-savage-2.4.1/src/savage_cursor.c:141:32: note: You might need to cast the function pointer here xf86-video-savage-2.4.1/src/savage_cursor.c:199:20: note: Parameter 'src' can be declared as pointer to const 2.18.0 xf86-video-savage-2.4.1/src/savage_cursor.c:237:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Chipset [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_dga.c:116:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DGAModeRec [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_dga.c:213:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_dga.c:271:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXSCREENS [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_dga.c:405:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DGA_NEED_ROOT [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_dga.c:96:31: style: Variable 'newmodes' is assigned a value that is never used. [unreadVariable] 2.18.0 xf86-video-savage-2.4.1/src/savage_driver.c:669:28: error: There is an unknown macro here somewhere. Configuration is required. If PACKAGE_VERSION is a macro then please configure it. [unknownMacro] head xf86-video-savage-2.4.1/src/savage_driver.h:54:0: error: failed to evaluate #if condition, undefined function-like macro invocation: GET_ABI_MAJOR( ... ) [preprocessorErrorDirective] head xf86-video-savage-2.4.1/src/savage_driver.h:54:2: error: failed to evaluate #if condition, undefined function-like macro invocation: GET_ABI_MAJOR( ... ) [preprocessorErrorDirective] 2.18.0 xf86-video-savage-2.4.1/src/savage_exa.c:102:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_exa.c:196:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_exa.c:248:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_exa.c:322:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_exa.c:352:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_exa.c:400:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_exa.c:435:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_exa.c:582:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_exa.c:74:9: style: Variable 'ALUSolidROP' can be declared as const array [constVariable] 2.18.0 xf86-video-savage-2.4.1/src/savage_hwmc.c:185:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_hwmc.c:244:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable X_ERROR [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_hwmc.c:316:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable X_ERROR [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_hwmc.c:337:70: style:inconclusive: Function 'SAVAGEXvMCCreateSubpicture' argument 2 names different: declaration 'pSurf' definition 'pSubp'. [funcArgNamesDifferent] xf86-video-savage-2.4.1/src/savage_hwmc.c:63:70: note: Function 'SAVAGEXvMCCreateSubpicture' argument 2 names different: declaration 'pSurf' definition 'pSubp'. xf86-video-savage-2.4.1/src/savage_hwmc.c:337:70: note: Function 'SAVAGEXvMCCreateSubpicture' argument 2 names different: declaration 'pSurf' definition 'pSubp'. 2.18.0 xf86-video-savage-2.4.1/src/savage_hwmc.c:346:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable X_ERROR [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_hwmc.c:357:22: style: int result is assigned to long variable. If the variable is long to avoid loss of information, then you have loss of information. [truncLongCastAssignment] 2.18.0 xf86-video-savage-2.4.1/src/savage_hwmc.c:388:72: style:inconclusive: Function 'SAVAGEXvMCDestroySubpicture' argument 2 names different: declaration 'pSurf' definition 'pSubp'. [funcArgNamesDifferent] xf86-video-savage-2.4.1/src/savage_hwmc.c:65:72: note: Function 'SAVAGEXvMCDestroySubpicture' argument 2 names different: declaration 'pSurf' definition 'pSubp'. xf86-video-savage-2.4.1/src/savage_hwmc.c:388:72: note: Function 'SAVAGEXvMCDestroySubpicture' argument 2 names different: declaration 'pSurf' definition 'pSubp'. 2.18.0 xf86-video-savage-2.4.1/src/savage_i2c.c:43:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_i2c.c:61:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_i2c.c:81:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_shadow.c:47:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_streams.c:463:19: style: Variable 'Xfactors' can be declared as const array [constVariable] 2.18.0 xf86-video-savage-2.4.1/src/savage_streams.c:474:19: style: Variable 'Yfactors' can be declared as const array [constVariable] 2.18.0 xf86-video-savage-2.4.1/src/savage_streams.c:55:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable overlayDepth [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_streams.c:65:5: style: Operator '|' with one operand equal to zero is redundant. [badBitmaskCheck] 2.18.0 xf86-video-savage-2.4.1/src/savage_streams.c:98:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable overlayDepth [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_vbe.c:100:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable X_INFO [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_vbe.c:274:19: style: Parameter 'vbe' can be declared as pointer to const [constParameterPointer] 2.18.0 xf86-video-savage-2.4.1/src/savage_vbe.c:282:34: style: Variable 'vmib' can be declared as pointer to const [constVariablePointer] 2.18.0 xf86-video-savage-2.4.1/src/savage_vbe.c:394:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_vbe.c:59:51: style:inconclusive: Function 'SavageSetVESAModeCrtc1' argument 3 names different: declaration 'Refresh' definition 'refresh'. [funcArgNamesDifferent] xf86-video-savage-2.4.1/src/savage_vbe.c:23:57: note: Function 'SavageSetVESAModeCrtc1' argument 3 names different: declaration 'Refresh' definition 'refresh'. xf86-video-savage-2.4.1/src/savage_vbe.c:59:51: note: Function 'SavageSetVESAModeCrtc1' argument 3 names different: declaration 'Refresh' definition 'refresh'. 2.18.0 xf86-video-savage-2.4.1/src/savage_vbe.c:63:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable X_INFO [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_vbe.c:97:52: style:inconclusive: Function 'SavageSetVESAModeCrtc2' argument 3 names different: declaration 'Refresh' definition 'refresh'. [funcArgNamesDifferent] xf86-video-savage-2.4.1/src/savage_vbe.c:24:57: note: Function 'SavageSetVESAModeCrtc2' argument 3 names different: declaration 'Refresh' definition 'refresh'. xf86-video-savage-2.4.1/src/savage_vbe.c:97:52: note: Function 'SavageSetVESAModeCrtc2' argument 3 names different: declaration 'Refresh' definition 'refresh'. 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1079:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable milliseconds [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1103:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BadValue [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1171:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BadMatch [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1200:20: style: Parameter 'srcY' can be declared as pointer to const [constParameterPointer] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1201:20: style: Parameter 'srcV' can be declared as pointer to const [constParameterPointer] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1202:20: style: Parameter 'srcU' can be declared as pointer to const [constParameterPointer] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1327:54: style: Parameter 'area' can be declared as pointer to const. However it seems that 'SavageVideoSave' is a callback function, if 'area' is declared with const you might also need to cast function pointer(s). [constParameterCallback] xf86-video-savage-2.4.1/src/savage_video.c:1359:59: note: You might need to cast the function pointer here xf86-video-savage-2.4.1/src/savage_video.c:1327:54: note: Parameter 'area' can be declared as pointer to const 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1329:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1345:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1455:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FOURCC_YV12 [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1480:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ptr [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1641:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ptr [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1786:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ptr [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:1942:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pScreen [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:2213:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BadAlloc [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:2265:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:2286:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Success [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:2296:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pPortPrivates [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:2306:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pPortPrivates [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:2322:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pPortPrivates [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:2373:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:341:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:414:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ptr [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:433:6: style: Operator '|' with one operand equal to zero is redundant. [badBitmaskCheck] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:439:6: style: Operator '|' with one operand equal to zero is redundant. [badBitmaskCheck] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:451:6: style: Operator '|' with one operand equal to zero is redundant. [badBitmaskCheck] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:464:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ptr [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:611:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ptr [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:661:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ptr [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:695:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ptr [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:771:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ptr [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:830:20: style: Redundant initialization for 'brightness'. The initialized value is overwritten before it is read. [redundantInitialization] xf86-video-savage-2.4.1/src/savage_video.c:780:30: note: brightness is initialized xf86-video-savage-2.4.1/src/savage_video.c:830:20: note: brightness is overwritten 2.18.0 xf86-video-savage-2.4.1/src/savage_video.c:880:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable xf86Screens [valueFlowBailoutIncompleteVar] 2.18.0 xf86-video-savage-2.4.1/src/savage_xaa.c:352:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] DONE