2022-06-21 23:08 ftp://ftp.de.debian.org/debian/pool/main/g/gamin/gamin_0.1.10.orig.tar.gz cppcheck-options: --library=posix --library=gnu --showtime=top5 --check-library --inconclusive --enable=style,information --template=daca2 -D__GNUC__ --platform=unix64 -rp=temp -j2 platform: Linux-5.4.0-110-generic-x86_64-with-glibc2.29 python: 3.8.10 client-version: 1.3.24 compiler: g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 cppcheck: head 2.8 head-info: 10c7c70 (2022-06-22 00:03:18 +0200) count: 31 31 elapsed-time: 2.4 3.1 head-timing-info: Overall time: 0s old-timing-info: Overall time: 0s head results: gamin-0.1.10/lib/gam_error.h:90:0: error: #error "This compiler does not support varargs macros and thus debug messages can't be disabled" [preprocessorErrorDirective] gamin-0.1.10/libgamin/gam_data.c:787:27: style: Checking if unsigned expression 'evn->pathlen' is less than zero. [unsignedLessThanZero] gamin-0.1.10/libgamin/gam_data.c:133:23: style: Variable 'cur' is assigned a value that is never used. [unreadVariable] gamin-0.1.10/libgamin/gam_data.c:315:23: style: Variable 'cur' is assigned a value that is never used. [unreadVariable] gamin-0.1.10/libgamin/gam_api.c:120:10: portability: Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'. [prohibitedgetpwuidCalled] gamin-0.1.10/libgamin/gam_api.c:401:13: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] gamin-0.1.10/libgamin/gam_api.c:378:2: error: Resource leak: fd [resourceLeak] gamin-0.1.10/server/gam_channel.c:644:2: error: Resource leak: fd [resourceLeak] gamin-0.1.10/server/gam_channel.c:809:36: style:inconclusive: Function 'gam_client_conn_write' argument 1 names different: declaration 'target' definition 'source'. [funcArgNamesDifferent] gamin-0.1.10/server/gam_channel.h:22:45: note: Function 'gam_client_conn_write' argument 1 names different: declaration 'target' definition 'source'. gamin-0.1.10/server/gam_channel.c:809:36: note: Function 'gam_client_conn_write' argument 1 names different: declaration 'target' definition 'source'. gamin-0.1.10/server/gam_connection.c:524:45: portability: '(void*)req' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] gamin-0.1.10/server/gam_dnotify.c:201:18: style: Condition 'data!=NULL' is always true [knownConditionTrueFalse] gamin-0.1.10/server/gam_fs.c:268:27: style:inconclusive: Function 'gam_fs_unset' argument 1 names different: declaration 'path' definition 'fsname'. [funcArgNamesDifferent] gamin-0.1.10/server/gam_fs.h:22:35: note: Function 'gam_fs_unset' argument 1 names different: declaration 'path' definition 'fsname'. gamin-0.1.10/server/gam_fs.c:268:27: note: Function 'gam_fs_unset' argument 1 names different: declaration 'path' definition 'fsname'. gamin-0.1.10/server/gam_hurd_mach_notify.c:478:4: portability: Returning an integer in a function with pointer return type is not portable. [CastIntegerToAddressAtReturn] gamin-0.1.10/server/gam_hurd_mach_notify.c:476:7: debug: Wrong data detected by condition !tok->next()->astOperand1() [DacaWrongData] gamin-0.1.10/server/gam_hurd_mach_notify.c:779:9: style: Condition 'subs' is always true [knownConditionTrueFalse] gamin-0.1.10/server/gam_hurd_mach_notify.c:190:14: style: Local variable 'tail' shadows outer variable [shadowVariable] gamin-0.1.10/server/gam_hurd_mach_notify.c:154:11: note: Shadowed declaration gamin-0.1.10/server/gam_hurd_mach_notify.c:190:14: note: Shadow variable gamin-0.1.10/server/gam_hurd_mach_notify.c:549:8: style: union member 'Anonymous0::b' is never used. [unusedStructMember] gamin-0.1.10/server/gam_inotify.c:177:51: style: Parameter 'callerdata' can be declared as pointer to const [constParameter] gamin-0.1.10/server/gam_inotify.c:191:56: style: Parameter 'callerdata' can be declared as pointer to const [constParameter] gamin-0.1.10/server/gam_node.c:36:50: style:inconclusive: Function 'gam_node_new' argument 2 names different: declaration 'initial_sub' definition 'sub'. [funcArgNamesDifferent] gamin-0.1.10/server/gam_node.h:49:27: note: Function 'gam_node_new' argument 2 names different: declaration 'initial_sub' definition 'sub'. gamin-0.1.10/server/gam_node.c:36:50: note: Function 'gam_node_new' argument 2 names different: declaration 'initial_sub' definition 'sub'. gamin-0.1.10/server/gam_poll_basic.c:108:20: style: Condition 'event!=0' is always true [knownConditionTrueFalse] gamin-0.1.10/server/gam_poll_dnotify.c:496:26: style: Condition 'event!=0' is always true [knownConditionTrueFalse] gamin-0.1.10/server/gam_server.c:303:49: style:inconclusive: Function 'gam_server_emit_one_event' argument 2 names different: declaration 'is_dir_node' definition 'node_is_dir'. [funcArgNamesDifferent] gamin-0.1.10/server/gam_server.h:41:12: note: Function 'gam_server_emit_one_event' argument 2 names different: declaration 'is_dir_node' definition 'node_is_dir'. gamin-0.1.10/server/gam_server.c:303:49: note: Function 'gam_server_emit_one_event' argument 2 names different: declaration 'is_dir_node' definition 'node_is_dir'. gamin-0.1.10/server/gam_server.c:377:13: style: Variable 'pathlen' is assigned a value that is never used. [unreadVariable] gamin-0.1.10/server/gam_poll_generic.c:315:9: style: Variable 'exists' is assigned a value that is never used. [unreadVariable] gamin-0.1.10/server/gam_tree.c:244:49: style:inconclusive: Function 'gam_tree_get_children' argument 2 names different: declaration 'dir' definition 'root'. [funcArgNamesDifferent] gamin-0.1.10/server/gam_tree.h:34:32: note: Function 'gam_tree_get_children' argument 2 names different: declaration 'dir' definition 'root'. gamin-0.1.10/server/gam_tree.c:244:49: note: Function 'gam_tree_get_children' argument 2 names different: declaration 'dir' definition 'root'. gamin-0.1.10/server/gam_tree.c:39:18: style: struct member 'SubSearchData::listener' is never used. [unusedStructMember] gamin-0.1.10/server/gam_tree.c:40:12: style: struct member 'SubSearchData::list' is never used. [unusedStructMember] gamin-0.1.10/server/inotify-path.c:45:27: style: struct member 'ip_watched_dir_s::parent' is never used. [unusedStructMember] gamin-0.1.10/server/inotify-path.c:46:13: style: struct member 'ip_watched_dir_s::children' is never used. [unusedStructMember] gamin-0.1.10/tests/testing.c:506:13: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] diff: head gamin-0.1.10/server/gam_inotify.c:177:51: style: Parameter 'callerdata' can be declared as pointer to const [constParameter] 2.8 gamin-0.1.10/server/gam_inotify.c:177:51: style: Parameter 'callerdata' can be declared with const [constParameter] head gamin-0.1.10/server/gam_inotify.c:191:56: style: Parameter 'callerdata' can be declared as pointer to const [constParameter] 2.8 gamin-0.1.10/server/gam_inotify.c:191:56: style: Parameter 'callerdata' can be declared with const [constParameter] DONE