2026-09-11 00:45 ftp://ftp.de.debian.org/debian/pool/main/m/mirrormagic/mirrormagic_3.3.1+dfsg1.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --library=sdl --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 -j96 platform: Linux-6.8.0-137-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.4.0 compiler: g++ (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0 cppcheck: head 2.21.0 head-info: 982b140 (2026-09-10 23:11:32 +0200) count: 95 95 elapsed-time: 0.7 0.5 head-timing-info: old-timing-info: head results: mirrormagic-3.3.1/src/conf_emp.c:145:44: error: syntax error [syntaxError] mirrormagic-3.3.1/src/conf_chr.c:765:40: error: syntax error [syntaxError] mirrormagic-3.3.1/src/conf_grp.c:273:39: error: syntax error [syntaxError] mirrormagic-3.3.1/src/libgame/system.h:155:2: error: failed to evaluate #if condition, undefined function-like macro invocation: SDL_VERSION_ATLEAST( ... ) [syntaxError] mirrormagic-3.3.1/src/conf_cus.c:2065:41: error: syntax error [syntaxError] mirrormagic-3.3.1/src/conf_act.c:21:7: style: struct member 'Anonymous0::element' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_act.c:22:7: style: struct member 'Anonymous0::element_active' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_act.c:343:7: style: struct member 'Anonymous1::button' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_act.c:344:7: style: struct member 'Anonymous1::button_active' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_act.c:469:7: style: struct member 'Anonymous2::font_nr' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_act.c:470:7: style: struct member 'Anonymous2::font_nr_active' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_g2m.c:21:7: style: struct member 'Anonymous0::gamemode' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_g2s.c:21:7: style: struct member 'Anonymous0::gamemode' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_g2m.c:23:7: style: struct member 'Anonymous0::music' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_g2s.c:23:7: style: struct member 'Anonymous0::sound' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_fnt.c:21:7: style: struct member 'Anonymous0::font_nr' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_fnt.c:22:7: style: struct member 'Anonymous0::special' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_fnt.c:24:7: style: struct member 'Anonymous0::graphic' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_e2s.c:21:7: style: struct member 'Anonymous0::element' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_e2s.c:23:7: style: struct member 'Anonymous0::action' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_e2s.c:25:7: style: struct member 'Anonymous0::sound' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_esg.c:21:7: style: struct member 'Anonymous0::element' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_esg.c:22:7: style: struct member 'Anonymous0::special' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_esg.c:24:7: style: struct member 'Anonymous0::graphic' is never used. [unusedStructMember] mirrormagic-3.3.1/src/libgame/random.c:512:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DBL_MAX [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/ioapi.c:104:5: warning: If memory allocation fails, then there is a possible null pointer dereference: ioposix [nullPointerOutOfMemory] mirrormagic-3.3.1/src/libgame/zip/ioapi.c:103:36: note: Assuming allocation function fails mirrormagic-3.3.1/src/libgame/zip/ioapi.c:103:15: note: Assignment 'ioposix=(struct FILE_IOPOSIX*)malloc(sizeof(struct FILE_IOPOSIX))', assigned value is 0 mirrormagic-3.3.1/src/libgame/zip/ioapi.c:104:5: note: Null pointer dereference mirrormagic-3.3.1/src/libgame/zip/ioapi.c:105:5: warning: If memory allocation fails, then there is a possible null pointer dereference: ioposix [nullPointerOutOfMemory] mirrormagic-3.3.1/src/libgame/zip/ioapi.c:103:36: note: Assuming allocation function fails mirrormagic-3.3.1/src/libgame/zip/ioapi.c:103:15: note: Assignment 'ioposix=(struct FILE_IOPOSIX*)malloc(sizeof(struct FILE_IOPOSIX))', assigned value is 0 mirrormagic-3.3.1/src/libgame/zip/ioapi.c:105:5: note: Null pointer dereference mirrormagic-3.3.1/src/libgame/zip/ioapi.c:106:5: warning: If memory allocation fails, then there is a possible null pointer dereference: ioposix [nullPointerOutOfMemory] mirrormagic-3.3.1/src/libgame/zip/ioapi.c:103:36: note: Assuming allocation function fails mirrormagic-3.3.1/src/libgame/zip/ioapi.c:103:15: note: Assignment 'ioposix=(struct FILE_IOPOSIX*)malloc(sizeof(struct FILE_IOPOSIX))', assigned value is 0 mirrormagic-3.3.1/src/libgame/zip/ioapi.c:106:5: note: Null pointer dereference mirrormagic-3.3.1/src/libgame/zip/ioapi.c:106:39: warning: If memory allocation fails, then there is a possible null pointer dereference: ioposix [nullPointerOutOfMemory] mirrormagic-3.3.1/src/libgame/zip/ioapi.c:103:36: note: Assuming allocation function fails mirrormagic-3.3.1/src/libgame/zip/ioapi.c:103:15: note: Assignment 'ioposix=(struct FILE_IOPOSIX*)malloc(sizeof(struct FILE_IOPOSIX))', assigned value is 0 mirrormagic-3.3.1/src/libgame/zip/ioapi.c:106:39: note: Null pointer dereference mirrormagic-3.3.1/src/libgame/zip/ioapi.c:107:20: warning: If memory allocation fails, then there is a possible null pointer dereference: ioposix [nullPointerOutOfMemory] mirrormagic-3.3.1/src/libgame/zip/ioapi.c:103:36: note: Assuming allocation function fails mirrormagic-3.3.1/src/libgame/zip/ioapi.c:103:15: note: Assignment 'ioposix=(struct FILE_IOPOSIX*)malloc(sizeof(struct FILE_IOPOSIX))', assigned value is 0 mirrormagic-3.3.1/src/libgame/zip/ioapi.c:107:20: note: Null pointer dereference mirrormagic-3.3.1/src/libgame/zip/ioapi.c:107:49: warning: If memory allocation fails, then there is a possible null pointer dereference: ioposix [nullPointerOutOfMemory] mirrormagic-3.3.1/src/libgame/zip/ioapi.c:103:36: note: Assuming allocation function fails mirrormagic-3.3.1/src/libgame/zip/ioapi.c:103:15: note: Assignment 'ioposix=(struct FILE_IOPOSIX*)malloc(sizeof(struct FILE_IOPOSIX))', assigned value is 0 mirrormagic-3.3.1/src/libgame/zip/ioapi.c:107:49: note: Null pointer dereference mirrormagic-3.3.1/src/libgame/zip/ioapi.c:141:13: warning: If memory allocation fails, then there is a possible null pointer dereference: diskFilename [nullPointerOutOfMemory] mirrormagic-3.3.1/src/libgame/zip/ioapi.c:140:33: note: Assuming allocation function fails mirrormagic-3.3.1/src/libgame/zip/ioapi.c:140:20: note: Assignment 'diskFilename=(char*)malloc(ioposix->filenameLength*sizeof(char))', assigned value is 0 mirrormagic-3.3.1/src/libgame/zip/ioapi.c:141:13: note: Null pointer dereference mirrormagic-3.3.1/src/libgame/zip/ioapi.c:78:47: style: Variable 'p_filefunc64_32->zfile_func64.zerror_file' is reassigned a value before the old one has been used. [redundantAssignment] mirrormagic-3.3.1/src/libgame/zip/ioapi.c:72:47: note: p_filefunc64_32->zfile_func64.zerror_file is assigned mirrormagic-3.3.1/src/libgame/zip/ioapi.c:78:47: note: p_filefunc64_32->zfile_func64.zerror_file is overwritten mirrormagic-3.3.1/src/libgame/zip/ioapi.c:132:19: style: Variable 'ioposix' can be declared as pointer to const [constVariablePointer] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:197:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:287:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:298:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:392:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:520:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:545:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:581:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/random.c:199:29: style:inconclusive: Function 'srandom_linux_libc' argument 1 names different: declaration '' definition 'nr'. [funcArgNamesDifferentUnnamed] mirrormagic-3.3.1/src/libgame/random.c:199:46: style:inconclusive: Function 'srandom_linux_libc' argument 2 names different: declaration '' definition 'x'. [funcArgNamesDifferentUnnamed] mirrormagic-3.3.1/src/libgame/random.c:229:27: style:inconclusive: Function 'random_linux_libc' argument 1 names different: declaration '' definition 'nr'. [funcArgNamesDifferentUnnamed] mirrormagic-3.3.1/src/libgame/random.c:378:30: style:inconclusive: Function 'prng_seed_bytes' argument 1 names different: declaration '' definition 'key'. [funcArgNamesDifferentUnnamed] mirrormagic-3.3.1/src/libgame/random.c:378:42: style:inconclusive: Function 'prng_seed_bytes' argument 2 names different: declaration '' definition 'size'. [funcArgNamesDifferentUnnamed] mirrormagic-3.3.1/src/libgame/random.c:425:23: style:inconclusive: Function 'prng_get_bytes' argument 1 names different: declaration '' definition 'buf_'. [funcArgNamesDifferentUnnamed] mirrormagic-3.3.1/src/libgame/random.c:425:36: style:inconclusive: Function 'prng_get_bytes' argument 2 names different: declaration '' definition 'size'. [funcArgNamesDifferentUnnamed] mirrormagic-3.3.1/src/libgame/random.c:509:22: style: Local variable 's' shadows outer variable [shadowVariable] mirrormagic-3.3.1/src/libgame/random.c:313:22: note: Shadowed variable mirrormagic-3.3.1/src/libgame/random.c:509:22: note: Shadow local variable mirrormagic-3.3.1/src/libgame/hash.c:45:33: style:inconclusive: Function 'create_hashtable' argument 3 names different: declaration 'hashfunction' definition 'hashf'. [funcArgNamesDifferent] mirrormagic-3.3.1/src/libgame/hash.h:136:33: note: Function 'create_hashtable' argument 3 names different: declaration 'hashfunction' definition 'hashf'. mirrormagic-3.3.1/src/libgame/hash.c:45:33: note: Function 'create_hashtable' argument 3 names different: declaration 'hashfunction' definition 'hashf'. mirrormagic-3.3.1/src/libgame/hash.c:46:24: style:inconclusive: Function 'create_hashtable' argument 4 names different: declaration 'key_eq_fn' definition 'eqf'. [funcArgNamesDifferent] mirrormagic-3.3.1/src/libgame/hash.h:137:24: note: Function 'create_hashtable' argument 4 names different: declaration 'key_eq_fn' definition 'eqf'. mirrormagic-3.3.1/src/libgame/hash.c:46:24: note: Function 'create_hashtable' argument 4 names different: declaration 'key_eq_fn' definition 'eqf'. mirrormagic-3.3.1/src/libgame/hash.c:187:35: style: Parameter 'h' can be declared as pointer to const [constParameterPointer] mirrormagic-3.3.1/src/conf_e2g.c:21:7: style: struct member 'Anonymous0::element' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_e2g.c:22:7: style: struct member 'Anonymous0::action' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_e2g.c:23:7: style: struct member 'Anonymous0::direction' is never used. [unusedStructMember] mirrormagic-3.3.1/src/conf_e2g.c:26:7: style: struct member 'Anonymous0::graphic' is never used. [unusedStructMember] mirrormagic-3.3.1/src/libgame/zip/unzip.c:173:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_ERRNO [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/unzip.c:271:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_ERRNO [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/unzip.c:317:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_ERRNO [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/unzip.c:382:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_ERRNO [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/unzip.c:595:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_ERRNO [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/unzip.c:638:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_ERRNO [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/unzip.c:681:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_ERRNO [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/unzip.c:724:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_ERRNO [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/unzip.c:972:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_ERRNO [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/unzip.c:1115:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_DEFLATED [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/unzip.c:1367:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_ERRNO [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/unzip.c:1617:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_ERRNO [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/unzip.c:1667:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_DEFLATED [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/unzip.c:1948:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Z_ERRNO [valueFlowBailoutIncompleteVar] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:181:5: style: Obsolescent function 'utime' called. It is recommended to use 'utimensat' instead. [prohibitedutimeCalled] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:441:17: warning:inconclusive: Width 1 given in format string (no. 1) is smaller than destination buffer 'answer[128]'. [invalidScanfFormatWidth_smaller] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:541:23: style:inconclusive: Function 'zip_list' argument 1 names different: declaration '' definition 'filename'. [funcArgNamesDifferentUnnamed] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:577:26: style:inconclusive: Function 'zip_extract' argument 1 names different: declaration '' definition 'filename'. [funcArgNamesDifferentUnnamed] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:577:42: style:inconclusive: Function 'zip_extract' argument 2 names different: declaration '' definition 'directory'. [funcArgNamesDifferentUnnamed] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:541:23: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] mirrormagic-3.3.1/src/libgame/zip/miniunz.c:577:26: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] mirrormagic-3.3.1/src/libgame/zip/unzip.c:1331:15: style: Comparing expression of type 'unsigned int' against value 4294967295. Condition is always false. [compareValueOutOfTypeRangeError] mirrormagic-3.3.1/src/libgame/zip/unzip.c:507:70: style:inconclusive: Function 'unzOpen2' argument 2 names different: declaration 'pzlib_filefunc_def' definition 'pzlib_filefunc32_def'. [funcArgNamesDifferent] mirrormagic-3.3.1/src/libgame/zip/unzip.h:137:70: note: Function 'unzOpen2' argument 2 names different: declaration 'pzlib_filefunc_def' definition 'pzlib_filefunc32_def'. mirrormagic-3.3.1/src/libgame/zip/unzip.c:507:70: note: Function 'unzOpen2' argument 2 names different: declaration 'pzlib_filefunc_def' definition 'pzlib_filefunc32_def'. mirrormagic-3.3.1/src/libgame/zip/unzip.c:603:68: style:inconclusive: Function 'unzGetGlobalInfo' argument 2 names different: declaration 'pglobal_info' definition 'pglobal_info32'. [funcArgNamesDifferent] mirrormagic-3.3.1/src/libgame/zip/unzip.h:148:68: note: Function 'unzGetGlobalInfo' argument 2 names different: declaration 'pglobal_info' definition 'pglobal_info32'. mirrormagic-3.3.1/src/libgame/zip/unzip.c:603:68: note: Function 'unzGetGlobalInfo' argument 2 names different: declaration 'pglobal_info' definition 'pglobal_info32'. mirrormagic-3.3.1/src/libgame/zip/unzip.c:507:70: style: Parameter 'pzlib_filefunc32_def' can be declared as pointer to const [constParameterPointer] mirrormagic-3.3.1/src/libgame/zip/unzip.c:518:75: style: Parameter 'pzlib_filefunc_def' can be declared as pointer to const [constParameterPointer] mirrormagic-3.3.1/src/libgame/zip/unzip.c:618:21: style: Variable 's' can be declared as pointer to const [constVariablePointer] mirrormagic-3.3.1/src/libgame/zip/unzip.c:1814:63: style: Parameter 'file_pos' can be declared as pointer to const [constParameterPointer] mirrormagic-3.3.1/src/libgame/zip/unzip.c:1826:21: style: Variable 's' can be declared as pointer to const [constVariablePointer] mirrormagic-3.3.1/src/libgame/zip/unzip.c:1871:21: style: Variable 's' can be declared as pointer to const [constVariablePointer] mirrormagic-3.3.1/src/libgame/zip/unzip.c:2000:21: style: Variable 's' can be declared as pointer to const [constVariablePointer] mirrormagic-3.3.1/src/libgame/zip/unzip.c:265:24: style: Variable 'read_size' is assigned a value that is never used. [unreadVariable] mirrormagic-3.3.1/src/libgame/zip/unzip.c:266:23: style: Variable 'read_pos' is assigned a value that is never used. [unreadVariable] mirrormagic-3.3.1/src/libgame/zip/unzip.c:267:16: style: Variable 'i' is assigned a value that is never used. [unreadVariable] mirrormagic-3.3.1/src/libgame/zip/unzip.c:351:30: style: Variable 'number_entry_CD' is assigned a value that is never used. [unreadVariable] mirrormagic-3.3.1/src/libgame/zip/unzip.c:355:23: style: Variable 'filestream' is assigned a value that is never used. [unreadVariable] mirrormagic-3.3.1/src/libgame/zip/unzip.c:656:28: style: Variable 'bytes_to_read' is assigned a value that is never used. [unreadVariable] mirrormagic-3.3.1/src/libgame/zip/unzip.c:708:26: style: Variable 'current_pos' is assigned a value that is never used. [unreadVariable] mirrormagic-3.3.1/src/libgame/zip/unzip.c:1350:33: style: Variable 'bytes_read' is assigned a value that is never used. [unreadVariable] diff: 2.21.0 mirrormagic-3.3.1/src/libgame/hash.c:46:24: style:inconclusive: Function 'create_hashtable' argument 4 names different: declaration '' definition 'eqf'. [funcArgNamesDifferentUnnamed] head mirrormagic-3.3.1/src/libgame/hash.c:46:24: style:inconclusive: Function 'create_hashtable' argument 4 names different: declaration 'key_eq_fn' definition 'eqf'. [funcArgNamesDifferent] mirrormagic-3.3.1/src/libgame/hash.h:137:24: note: Function 'create_hashtable' argument 4 names different: declaration 'key_eq_fn' definition 'eqf'. mirrormagic-3.3.1/src/libgame/hash.c:46:24: note: Function 'create_hashtable' argument 4 names different: declaration 'key_eq_fn' definition 'eqf'. DONE