2026-05-27 21:57 ftp://ftp.de.debian.org/debian/pool/main/libu/libuio/libuio_0.3.0.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=gtk --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 -j8 platform: Linux-6.17.0-29-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.20.0 head-info: 6e46c6b (2026-05-27 18:39:55 +0200) count: 87 87 elapsed-time: 0.0 0.1 head-timing-info: old-timing-info: head results: libuio-0.3.0/irq.c:54:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] libuio-0.3.0/irq.c:73:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] libuio-0.3.0/irq.c:94:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] libuio-0.3.0/lsuio.c:187:19: error: There is an unknown macro here somewhere. Configuration is required. If VERSION is a macro then please configure it. [unknownMacro] libuio-0.3.0/irq.c:48:40: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/irq.c:67:41: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/irq.c:87:45: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/helper.c:59:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] libuio-0.3.0/helper.c:107:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] libuio-0.3.0/helper.c:130:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] libuio-0.3.0/helper.c:218:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] libuio-0.3.0/helper.c:293:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] libuio-0.3.0/readuio.c:76:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] libuio-0.3.0/attr.c:56:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] libuio-0.3.0/attr.c:112:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] libuio-0.3.0/attr.c:133:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] libuio-0.3.0/attr.c:171:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] libuio-0.3.0/attr.c:225:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] libuio-0.3.0/base.c:68:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] libuio-0.3.0/base.c:205:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] libuio-0.3.0/base.c:282:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] libuio-0.3.0/base.c:350:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] libuio-0.3.0/base.c:402:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] libuio-0.3.0/base.c:443:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] libuio-0.3.0/readuio.c:86:4: warning: %ld in format string (no. 1) requires 'long' but the argument type is 'unsigned long'. [invalidPrintfArgType_sint] libuio-0.3.0/readuio.c:90:4: warning: %ld in format string (no. 1) requires 'long' but the argument type is 'unsigned long'. [invalidPrintfArgType_sint] libuio-0.3.0/readuio.c:90:4: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] libuio-0.3.0/readuio.c:98:19: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/mem.c:50:55: style:inconclusive: Function 'uio_get_mem_size' argument 2 names different: declaration 'map' definition 'map_num'. [funcArgNamesDifferent] libuio-0.3.0/libuio.h:65:55: note: Function 'uio_get_mem_size' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:50:55: note: Function 'uio_get_mem_size' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:64:53: style:inconclusive: Function 'uio_get_offset' argument 2 names different: declaration 'map' definition 'map_num'. [funcArgNamesDifferent] libuio-0.3.0/libuio.h:69:53: note: Function 'uio_get_offset' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:64:53: note: Function 'uio_get_offset' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:78:62: style:inconclusive: Function 'uio_get_mem_addr' argument 2 names different: declaration 'map' definition 'map_num'. [funcArgNamesDifferent] libuio-0.3.0/libuio.h:66:62: note: Function 'uio_get_mem_addr' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:78:62: note: Function 'uio_get_mem_addr' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:92:53: style:inconclusive: Function 'uio_get_mem_map' argument 2 names different: declaration 'map' definition 'map_num'. [funcArgNamesDifferent] libuio-0.3.0/libuio.h:67:53: note: Function 'uio_get_mem_map' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:92:53: note: Function 'uio_get_mem_map' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:163:45: style:inconclusive: Function 'uio_read8' argument 2 names different: declaration 'map' definition 'map_num'. [funcArgNamesDifferent] libuio-0.3.0/libuio.h:71:45: note: Function 'uio_read8' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:163:45: note: Function 'uio_read8' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:186:46: style:inconclusive: Function 'uio_read16' argument 2 names different: declaration 'map' definition 'map_num'. [funcArgNamesDifferent] libuio-0.3.0/libuio.h:73:46: note: Function 'uio_read16' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:186:46: note: Function 'uio_read16' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:209:46: style:inconclusive: Function 'uio_read32' argument 2 names different: declaration 'map' definition 'map_num'. [funcArgNamesDifferent] libuio-0.3.0/libuio.h:75:46: note: Function 'uio_read32' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:209:46: note: Function 'uio_read32' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:232:46: style:inconclusive: Function 'uio_read64' argument 2 names different: declaration 'map' definition 'map_num'. [funcArgNamesDifferent] libuio-0.3.0/libuio.h:77:46: note: Function 'uio_read64' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:232:46: note: Function 'uio_read64' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:255:46: style:inconclusive: Function 'uio_write8' argument 2 names different: declaration 'map' definition 'map_num'. [funcArgNamesDifferent] libuio-0.3.0/libuio.h:79:46: note: Function 'uio_write8' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:255:46: note: Function 'uio_write8' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:278:47: style:inconclusive: Function 'uio_write16' argument 2 names different: declaration 'map' definition 'map_num'. [funcArgNamesDifferent] libuio-0.3.0/libuio.h:81:47: note: Function 'uio_write16' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:278:47: note: Function 'uio_write16' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/attr.c:71:4: error: Memory leak: namelist [memleak] libuio-0.3.0/mem.c:301:47: style:inconclusive: Function 'uio_write32' argument 2 names different: declaration 'map' definition 'map_num'. [funcArgNamesDifferent] libuio-0.3.0/libuio.h:83:47: note: Function 'uio_write32' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:301:47: note: Function 'uio_write32' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:324:47: style:inconclusive: Function 'uio_write64' argument 2 names different: declaration 'map' definition 'map_num'. [funcArgNamesDifferent] libuio-0.3.0/libuio.h:85:47: note: Function 'uio_write64' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:324:47: note: Function 'uio_write64' argument 2 names different: declaration 'map' definition 'map_num'. libuio-0.3.0/mem.c:122:39: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/mem.c:136:51: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/mem.c:136:63: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/mem.c:171:33: portability: 'info->maps[map_num].map' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/mem.c:171:63: portability: 'info->maps[map_num].map+info->maps[map_num].offset' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/mem.c:194:33: portability: 'info->maps[map_num].map' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/mem.c:194:63: portability: 'info->maps[map_num].map+info->maps[map_num].offset' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/mem.c:217:33: portability: 'info->maps[map_num].map' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/mem.c:217:63: portability: 'info->maps[map_num].map+info->maps[map_num].offset' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/mem.c:240:33: portability: 'info->maps[map_num].map' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/mem.c:240:63: portability: 'info->maps[map_num].map+info->maps[map_num].offset' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/mem.c:263:33: portability: 'info->maps[map_num].map' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/mem.c:263:63: portability: 'info->maps[map_num].map+info->maps[map_num].offset' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/mem.c:286:33: portability: 'info->maps[map_num].map' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/mem.c:286:63: portability: 'info->maps[map_num].map+info->maps[map_num].offset' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/mem.c:309:33: portability: 'info->maps[map_num].map' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/attr.c:176:30: style: Checking if unsigned expression 'count' is less than zero. [unsignedLessThanZero] libuio-0.3.0/mem.c:309:63: portability: 'info->maps[map_num].map+info->maps[map_num].offset' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/attr.c:202:10: style: Checking if unsigned expression 'len' is less than zero. [unsignedLessThanZero] libuio-0.3.0/mem.c:332:33: portability: 'info->maps[map_num].map' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/mem.c:332:63: portability: 'info->maps[map_num].map+info->maps[map_num].offset' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] libuio-0.3.0/attr.c:51:42: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/attr.c:110:40: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/attr.c:110:52: style: Parameter 'attr' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/attr.c:131:38: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/attr.c:131:50: style: Parameter 'attr' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/attr.c:131:62: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/attr.c:169:44: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/attr.c:169:56: style: Parameter 'attr' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/attr.c:222:42: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/attr.c:222:54: style: Parameter 'attr' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/attr.c:223:15: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/helper.c:54:35: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/helper.c:98:30: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/helper.c:126:43: style: Parameter 'dir' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/helper.c:290:43: style: Parameter 'dir' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/helper.c:290:54: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/base.c:279:45: style:inconclusive: Function 'uio_find_by_uio_num' argument 1 names different: declaration 'num' definition 'uio_num'. [funcArgNamesDifferent] libuio-0.3.0/libuio.h:40:45: note: Function 'uio_find_by_uio_num' argument 1 names different: declaration 'num' definition 'uio_num'. libuio-0.3.0/base.c:279:45: note: Function 'uio_find_by_uio_num' argument 1 names different: declaration 'num' definition 'uio_num'. libuio-0.3.0/base.c:89:39: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/base.c:102:42: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/base.c:115:42: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/base.c:154:40: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/base.c:167:35: style: Parameter 'info' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/base.c:246:48: style: Parameter 'uio_name' can be declared as pointer to const [constParameterPointer] libuio-0.3.0/base.c:249:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] libuio-0.3.0/base.c:374:8: portability: 'ptr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] diff: DONE