Error: GCC_ANALYZER_WARNING (CWE-401): [#def1] libevdev-1.13.6/libevdev/libevdev-int.h:292:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:12: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:394:13: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: call_function: calling ‘uinput_create_DEV_SETUP’ from ‘libevdev_uinput_create_from_device’ # 290| # 291| switch(type) { # 292|-> max_mask(ABS, abs); # 293| max_mask(REL, rel); # 294| max_mask(KEY, key); Error: GCC_ANALYZER_WARNING (CWE-401): [#def2] libevdev-1.13.6/libevdev/libevdev-int.h:293:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:12: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:394:13: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: call_function: calling ‘uinput_create_DEV_SETUP’ from ‘libevdev_uinput_create_from_device’ # 291| switch(type) { # 292| max_mask(ABS, abs); # 293|-> max_mask(REL, rel); # 294| max_mask(KEY, key); # 295| max_mask(LED, led); Error: GCC_ANALYZER_WARNING (CWE-401): [#def3] libevdev-1.13.6/libevdev/libevdev-int.h:294:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:12: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:394:13: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: call_function: calling ‘uinput_create_DEV_SETUP’ from ‘libevdev_uinput_create_from_device’ # 292| max_mask(ABS, abs); # 293| max_mask(REL, rel); # 294|-> max_mask(KEY, key); # 295| max_mask(LED, led); # 296| max_mask(MSC, msc); Error: GCC_ANALYZER_WARNING (CWE-401): [#def4] libevdev-1.13.6/libevdev/libevdev-int.h:295:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:12: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:394:13: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: call_function: calling ‘uinput_create_DEV_SETUP’ from ‘libevdev_uinput_create_from_device’ # 293| max_mask(REL, rel); # 294| max_mask(KEY, key); # 295|-> max_mask(LED, led); # 296| max_mask(MSC, msc); # 297| max_mask(SW, sw); Error: GCC_ANALYZER_WARNING (CWE-401): [#def5] libevdev-1.13.6/libevdev/libevdev-int.h:296:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:12: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:394:13: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: call_function: calling ‘uinput_create_DEV_SETUP’ from ‘libevdev_uinput_create_from_device’ # 294| max_mask(KEY, key); # 295| max_mask(LED, led); # 296|-> max_mask(MSC, msc); # 297| max_mask(SW, sw); # 298| max_mask(FF, ff); Error: GCC_ANALYZER_WARNING (CWE-401): [#def6] libevdev-1.13.6/libevdev/libevdev-int.h:297:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:12: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:394:13: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: call_function: calling ‘uinput_create_DEV_SETUP’ from ‘libevdev_uinput_create_from_device’ # 295| max_mask(LED, led); # 296| max_mask(MSC, msc); # 297|-> max_mask(SW, sw); # 298| max_mask(FF, ff); # 299| max_mask(REP, rep); Error: GCC_ANALYZER_WARNING (CWE-401): [#def7] libevdev-1.13.6/libevdev/libevdev-uinput.c:71:22: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:12: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:394:13: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: call_function: calling ‘uinput_create_DEV_SETUP’ from ‘libevdev_uinput_create_from_device’ # 69| const unsigned long *mask; # 70| # 71|-> if (!libevdev_has_event_type(dev, type)) # 72| continue; # 73| Error: GCC_ANALYZER_WARNING (CWE-401): [#def8] libevdev-1.13.6/libevdev/libevdev-uinput.c:317:29: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:397:22: call_function: calling ‘uinput_create_write’ from ‘libevdev_uinput_create_from_device’ # 315| memset(&uidev, 0, sizeof(uidev)); # 316| # 317|-> strncpy(uidev.name, libevdev_get_name(dev), UINPUT_MAX_NAME_SIZE - 1); # 318| uidev.id.vendor = libevdev_get_id_vendor(dev); # 319| uidev.id.product = libevdev_get_id_product(dev); Error: GCC_ANALYZER_WARNING (CWE-401): [#def9] libevdev-1.13.6/libevdev/libevdev-uinput.c:317:29: warning[-Wanalyzer-malloc-leak]: leak of ‘alloc_uinput_device(libevdev_get_name(dev))’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:397:22: call_function: calling ‘uinput_create_write’ from ‘libevdev_uinput_create_from_device’ # 315| memset(&uidev, 0, sizeof(uidev)); # 316| # 317|-> strncpy(uidev.name, libevdev_get_name(dev), UINPUT_MAX_NAME_SIZE - 1); # 318| uidev.id.vendor = libevdev_get_id_vendor(dev); # 319| uidev.id.product = libevdev_get_id_product(dev); Error: GCC_ANALYZER_WARNING (CWE-401): [#def10] libevdev-1.13.6/libevdev/libevdev-uinput.c:318:9: warning[-Wanalyzer-malloc-leak]: leak of ‘alloc_uinput_device(libevdev_get_name(dev))’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:397:22: call_function: calling ‘uinput_create_write’ from ‘libevdev_uinput_create_from_device’ # 316| # 317| strncpy(uidev.name, libevdev_get_name(dev), UINPUT_MAX_NAME_SIZE - 1); # 318|-> uidev.id.vendor = libevdev_get_id_vendor(dev); # 319| uidev.id.product = libevdev_get_id_product(dev); # 320| uidev.id.bustype = libevdev_get_id_bustype(dev); Error: GCC_ANALYZER_WARNING (CWE-401): [#def11] libevdev-1.13.6/libevdev/libevdev-uinput.c:318:27: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:397:22: call_function: calling ‘uinput_create_write’ from ‘libevdev_uinput_create_from_device’ # 316| # 317| strncpy(uidev.name, libevdev_get_name(dev), UINPUT_MAX_NAME_SIZE - 1); # 318|-> uidev.id.vendor = libevdev_get_id_vendor(dev); # 319| uidev.id.product = libevdev_get_id_product(dev); # 320| uidev.id.bustype = libevdev_get_id_bustype(dev); Error: GCC_ANALYZER_WARNING (CWE-401): [#def12] libevdev-1.13.6/libevdev/libevdev-uinput.c:318:27: warning[-Wanalyzer-malloc-leak]: leak of ‘alloc_uinput_device(libevdev_get_name(dev))’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:397:22: call_function: calling ‘uinput_create_write’ from ‘libevdev_uinput_create_from_device’ # 316| # 317| strncpy(uidev.name, libevdev_get_name(dev), UINPUT_MAX_NAME_SIZE - 1); # 318|-> uidev.id.vendor = libevdev_get_id_vendor(dev); # 319| uidev.id.product = libevdev_get_id_product(dev); # 320| uidev.id.bustype = libevdev_get_id_bustype(dev); Error: GCC_ANALYZER_WARNING (CWE-401): [#def13] libevdev-1.13.6/libevdev/libevdev-uinput.c:319:28: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:397:22: call_function: calling ‘uinput_create_write’ from ‘libevdev_uinput_create_from_device’ # 317| strncpy(uidev.name, libevdev_get_name(dev), UINPUT_MAX_NAME_SIZE - 1); # 318| uidev.id.vendor = libevdev_get_id_vendor(dev); # 319|-> uidev.id.product = libevdev_get_id_product(dev); # 320| uidev.id.bustype = libevdev_get_id_bustype(dev); # 321| uidev.id.version = libevdev_get_id_version(dev); Error: GCC_ANALYZER_WARNING (CWE-401): [#def14] libevdev-1.13.6/libevdev/libevdev-uinput.c:320:28: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:397:22: call_function: calling ‘uinput_create_write’ from ‘libevdev_uinput_create_from_device’ # 318| uidev.id.vendor = libevdev_get_id_vendor(dev); # 319| uidev.id.product = libevdev_get_id_product(dev); # 320|-> uidev.id.bustype = libevdev_get_id_bustype(dev); # 321| uidev.id.version = libevdev_get_id_version(dev); # 322| Error: GCC_ANALYZER_WARNING (CWE-401): [#def15] libevdev-1.13.6/libevdev/libevdev-uinput.c:321:28: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:397:22: call_function: calling ‘uinput_create_write’ from ‘libevdev_uinput_create_from_device’ # 319| uidev.id.product = libevdev_get_id_product(dev); # 320| uidev.id.bustype = libevdev_get_id_bustype(dev); # 321|-> uidev.id.version = libevdev_get_id_version(dev); # 322| # 323| if (set_evbits(dev, fd, &uidev) != 0) Error: GCC_ANALYZER_WARNING (CWE-401): [#def16] libevdev-1.13.6/libevdev/libevdev-uinput.c:382:22: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_true: following ‘true’ branch (when ‘fd == -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:382:22: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:382:22: throw: if ‘open’ throws an exception... libevdev-1.13.6/libevdev/libevdev-uinput.c:382:22: danger: ‘<unknown>’ leaks here; was allocated at [(6)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/5) # 380| # 381| if (fd == LIBEVDEV_UINPUT_OPEN_MANAGED) { # 382|-> fd = open("/dev/uinput", O_RDWR|O_CLOEXEC); # 383| if (fd < 0) # 384| goto error; Error: GCC_ANALYZER_WARNING (CWE-401): [#def17] libevdev-1.13.6/libevdev/libevdev-uinput.c:382:22: warning[-Wanalyzer-malloc-leak]: leak of ‘alloc_uinput_device(libevdev_get_name(dev))’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_true: following ‘true’ branch (when ‘fd == -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:382:22: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:382:22: throw: if ‘open’ throws an exception... libevdev-1.13.6/libevdev/libevdev-uinput.c:382:22: danger: ‘alloc_uinput_device(libevdev_get_name(dev))’ leaks here; was allocated at [(4)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/3) # 380| # 381| if (fd == LIBEVDEV_UINPUT_OPEN_MANAGED) { # 382|-> fd = open("/dev/uinput", O_RDWR|O_CLOEXEC); # 383| if (fd < 0) # 384| goto error; Error: GCC_ANALYZER_WARNING (CWE-401): [#def18] libevdev-1.13.6/libevdev/libevdev-uinput.c:388:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_true: following ‘true’ branch (when ‘fd < 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:388:17: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:388:17: throw: if ‘_libevdev_log_priority’ throws an exception... libevdev-1.13.6/libevdev/libevdev-uinput.c:388:17: danger: ‘<unknown>’ leaks here; was allocated at [(6)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/5) # 386| new_device->fd_is_managed = 1; # 387| } else if (fd < 0) { # 388|-> log_bug(NULL, "Invalid fd %d\n", fd); # 389| errno = EBADF; # 390| goto error; Error: GCC_ANALYZER_WARNING (CWE-401): [#def19] libevdev-1.13.6/libevdev/libevdev-uinput.c:388:17: warning[-Wanalyzer-malloc-leak]: leak of ‘alloc_uinput_device(libevdev_get_name(dev))’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_true: following ‘true’ branch (when ‘fd < 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:388:17: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:388:17: throw: if ‘_libevdev_log_priority’ throws an exception... libevdev-1.13.6/libevdev/libevdev-uinput.c:388:17: danger: ‘alloc_uinput_device(libevdev_get_name(dev))’ leaks here; was allocated at [(4)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/3) # 386| new_device->fd_is_managed = 1; # 387| } else if (fd < 0) { # 388|-> log_bug(NULL, "Invalid fd %d\n", fd); # 389| errno = EBADF; # 390| goto error; Error: GCC_ANALYZER_WARNING (CWE-401): [#def20] libevdev-1.13.6/libevdev/libevdev-uinput.c:394:13: warning[-Wanalyzer-malloc-leak]: leak of ‘alloc_uinput_device(libevdev_get_name(dev))’ libevdev-1.13.6/libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’ libevdev-1.13.6/libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)... libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:12: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:394:13: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:393:13: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev-uinput.c:395:22: call_function: calling ‘uinput_create_DEV_SETUP’ from ‘libevdev_uinput_create_from_device’ # 392| # 393| if (ioctl(fd, UI_GET_VERSION, &uinput_version) == 0 && # 394|-> uinput_version >= 5) # 395| rc = uinput_create_DEV_SETUP(dev, fd, new_device); # 396| else Error: GCC_ANALYZER_WARNING (CWE-404): [#def21] libevdev-1.13.6/libevdev/libevdev.c:191:17: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’ libevdev-1.13.6/libevdev/libevdev.c:1872:1: enter_function: entry to ‘libevdev_set_clock_id’ libevdev-1.13.6/libevdev/libevdev.c:1874:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev.c:1875:17: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev.c:1875:17: call_function: calling ‘_libevdev_log_priority’ from ‘libevdev_set_clock_id’ libevdev-1.13.6/libevdev/libevdev.c:1875:17: return_function: returning to ‘libevdev_set_clock_id’ from ‘_libevdev_log_priority’ libevdev-1.13.6/libevdev/libevdev.c:1875:17: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev.c:1875:17: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev.c:1875:17: call_function: calling ‘_libevdev_log_msg’ from ‘libevdev_set_clock_id’ # 189| va_start(args, format); # 190| if (dev && dev->log.device_handler) # 191|-> dev->log.device_handler(dev, priority, dev->log.userdata, file, line, func, format, args); # 192| else # 193| log_data.global_handler(priority, log_data.userdata, file, line, func, format, args); Error: GCC_ANALYZER_WARNING (CWE-404): [#def22] libevdev-1.13.6/libevdev/libevdev.c:193:17: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’ libevdev-1.13.6/libevdev/libevdev.c:1872:1: enter_function: entry to ‘libevdev_set_clock_id’ libevdev-1.13.6/libevdev/libevdev.c:1874:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev.c:1875:17: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev.c:1875:17: call_function: calling ‘_libevdev_log_priority’ from ‘libevdev_set_clock_id’ libevdev-1.13.6/libevdev/libevdev.c:1875:17: return_function: returning to ‘libevdev_set_clock_id’ from ‘_libevdev_log_priority’ libevdev-1.13.6/libevdev/libevdev.c:1875:17: branch_true: following ‘true’ branch... libevdev-1.13.6/libevdev/libevdev.c:1875:17: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev.c:1875:17: call_function: calling ‘_libevdev_log_msg’ from ‘libevdev_set_clock_id’ # 191| dev->log.device_handler(dev, priority, dev->log.userdata, file, line, func, format, args); # 192| else # 193|-> log_data.global_handler(priority, log_data.userdata, file, line, func, format, args); # 194| va_end(args); # 195| } Error: GCC_ANALYZER_WARNING (CWE-476): [#def23] libevdev-1.13.6/libevdev/libevdev.c:361:26: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’ libevdev-1.13.6/libevdev/libevdev.c:1629:1: enter_function: entry to ‘libevdev_disable_event_code’ libevdev-1.13.6/libevdev/libevdev.c:1634:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev.c:1637:15: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev.c:1637:15: call_function: calling ‘type_to_mask’ from ‘libevdev_disable_event_code’ libevdev-1.13.6/libevdev/libevdev.c:1637:15: return_function: returning to ‘libevdev_disable_event_code’ from ‘type_to_mask’ libevdev-1.13.6/libevdev/libevdev.c:1639:12: branch_false: following ‘false’ branch... libevdev-1.13.6/libevdev/libevdev.c:1642:9: branch_false: ...to here libevdev-1.13.6/libevdev/libevdev.c:1644:12: branch_true: following ‘true’ branch (when ‘type == 3’)... libevdev-1.13.6/libevdev/libevdev.c:1645:20: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev.c:1645:20: branch_true: following ‘true’ branch (when ‘code == 47’)... libevdev-1.13.6/libevdev/libevdev.c:1646:29: branch_true: ...to here libevdev-1.13.6/libevdev/libevdev.c:1646:29: call_function: calling ‘init_slots’ from ‘libevdev_disable_event_code’ # 359| # 360| free_slots(dev); # 361|-> dev->num_slots = abs_info->maximum + 1; # 362| dev->mt_slot_vals = calloc(dev->num_slots * ABS_MT_CNT, sizeof(int)); # 363| if (!dev->mt_slot_vals) { Error: GCC_ANALYZER_WARNING (CWE-775): [#def24] libevdev-1.13.6/tools/libevdev-events.c:139:14: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(file, 0)’ libevdev-1.13.6/tools/libevdev-events.c:129:12: branch_false: following ‘false’ branch (when ‘argc > 1’)... libevdev-1.13.6/tools/libevdev-events.c:132:9: branch_false: ...to here libevdev-1.13.6/tools/libevdev-events.c:133:14: acquire_resource: opened here libevdev-1.13.6/tools/libevdev-events.c:134:12: branch_false: following ‘false’ branch... libevdev-1.13.6/tools/libevdev-events.c:139:14: branch_false: ...to here libevdev-1.13.6/tools/libevdev-events.c:139:14: danger: ‘open(file, 0)’ leaks here; was opened at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2) # 137| } # 138| # 139|-> rc = libevdev_new_from_fd(fd, &dev); # 140| if (rc < 0) { # 141| fprintf(stderr, "Failed to init libevdev (%s)\n", strerror(-rc)); Error: GCC_ANALYZER_WARNING (CWE-401): [#def25] libevdev-1.13.6/tools/mouse-dpi-tool.c:150:30: warning[-Wanalyzer-malloc-leak]: leak of ‘measurements.frequencies’ libevdev-1.13.6/tools/mouse-dpi-tool.c:245:1: enter_function: entry to ‘main’ libevdev-1.13.6/tools/mouse-dpi-tool.c:252:12: branch_false: following ‘false’ branch (when ‘argc > 1’)... libevdev-1.13.6/tools/mouse-dpi-tool.c:255:9: branch_false: ...to here libevdev-1.13.6/tools/mouse-dpi-tool.c:256:12: branch_false: following ‘false’ branch... libevdev-1.13.6/tools/mouse-dpi-tool.c:259:14: branch_false: ...to here libevdev-1.13.6/tools/mouse-dpi-tool.c:260:12: branch_false: following ‘false’ branch... libevdev-1.13.6/tools/mouse-dpi-tool.c:265:14: branch_false: ...to here libevdev-1.13.6/tools/mouse-dpi-tool.c:266:12: branch_false: following ‘false’ branch... libevdev-1.13.6/tools/mouse-dpi-tool.c:271:13: branch_false: ...to here libevdev-1.13.6/tools/mouse-dpi-tool.c:271:12: branch_false: following ‘false’ branch... libevdev-1.13.6/tools/mouse-dpi-tool.c:276:9: branch_false: ...to here libevdev-1.13.6/tools/mouse-dpi-tool.c:283:14: call_function: calling ‘mainloop’ from ‘main’ # 148| # 149| do { # 150|-> rc = libevdev_next_event(dev, LIBEVDEV_READ_FLAG_NORMAL, &ev); # 151| if (rc == LIBEVDEV_READ_STATUS_SYNC) { # 152| fprintf(stderr, "Error: cannot keep up\n"); Error: GCC_ANALYZER_WARNING (CWE-775): [#def26] libevdev-1.13.6/tools/mouse-dpi-tool.c:265:14: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(path, 2048)’ libevdev-1.13.6/tools/mouse-dpi-tool.c:252:12: branch_false: following ‘false’ branch (when ‘argc > 1’)... libevdev-1.13.6/tools/mouse-dpi-tool.c:255:9: branch_false: ...to here libevdev-1.13.6/tools/mouse-dpi-tool.c:256:12: branch_false: following ‘false’ branch... libevdev-1.13.6/tools/mouse-dpi-tool.c:259:14: branch_false: ...to here libevdev-1.13.6/tools/mouse-dpi-tool.c:259:14: acquire_resource: opened here libevdev-1.13.6/tools/mouse-dpi-tool.c:260:12: branch_false: following ‘false’ branch... libevdev-1.13.6/tools/mouse-dpi-tool.c:265:14: branch_false: ...to here libevdev-1.13.6/tools/mouse-dpi-tool.c:265:14: throw: if ‘libevdev_new_from_fd’ throws an exception... libevdev-1.13.6/tools/mouse-dpi-tool.c:265:14: danger: ‘open(path, 2048)’ leaks here; was opened at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4) # 263| } # 264| # 265|-> rc = libevdev_new_from_fd(fd, &dev); # 266| if (rc != 0) { # 267| fprintf(stderr, "Error fetching the device info: %s\n", strerror(-rc)); Error: GCC_ANALYZER_WARNING (CWE-775): [#def27] libevdev-1.13.6/tools/touchpad-edge-detector.c:249:14: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(path, 2048)’ libevdev-1.13.6/tools/touchpad-edge-detector.c:224:12: branch_false: following ‘false’ branch (when ‘argc > 2’)... libevdev-1.13.6/tools/touchpad-edge-detector.c:227:13: branch_false: ...to here libevdev-1.13.6/tools/touchpad-edge-detector.c:227:12: branch_false: following ‘false’ branch... libevdev-1.13.6/tools/touchpad-edge-detector.c:228:13: branch_false: ...to here libevdev-1.13.6/tools/touchpad-edge-detector.c:227:13: branch_false: following ‘false’ branch... libevdev-1.13.6/tools/touchpad-edge-detector.c:228:28: branch_false: ...to here libevdev-1.13.6/tools/touchpad-edge-detector.c:227:13: branch_false: following ‘false’ branch... libevdev-1.13.6/tools/touchpad-edge-detector.c:231:12: branch_false: ...to here libevdev-1.13.6/tools/touchpad-edge-detector.c:231:12: branch_false: following ‘false’ branch... libevdev-1.13.6/tools/touchpad-edge-detector.c:240:12: branch_false: following ‘false’ branch... libevdev-1.13.6/tools/touchpad-edge-detector.c:243:14: branch_false: ...to here libevdev-1.13.6/tools/touchpad-edge-detector.c:243:14: acquire_resource: opened here libevdev-1.13.6/tools/touchpad-edge-detector.c:244:12: branch_false: following ‘false’ branch... libevdev-1.13.6/tools/touchpad-edge-detector.c:249:14: branch_false: ...to here libevdev-1.13.6/tools/touchpad-edge-detector.c:249:14: throw: if ‘libevdev_new_from_fd’ throws an exception... libevdev-1.13.6/tools/touchpad-edge-detector.c:249:14: danger: ‘open(path, 2048)’ leaks here; was opened at [(13)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/12) # 247| } # 248| # 249|-> rc = libevdev_new_from_fd(fd, &dev); # 250| if (rc != 0) { # 251| fprintf(stderr, "Error fetching the device info: %s\n", strerror(-rc));
| analyzer-version-clippy | 1.92.0 |
| analyzer-version-cppcheck | 2.19.1 |
| analyzer-version-gcc | 16.0.0 |
| analyzer-version-gcc-analyzer | 16.0.0 |
| analyzer-version-shellcheck | 0.11.0 |
| analyzer-version-unicontrol | 0.0.2 |
| enabled-plugins | clippy, cppcheck, gcc, shellcheck, unicontrol |
| exit-code | 0 |
| host | ip-172-16-1-31.us-west-2.compute.internal |
| known-false-positives | /usr/share/csmock/known-false-positives.js |
| known-false-positives-rpm | known-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch |
| mock-config | fedora-rawhide-x86_64 |
| project-name | libevdev-1.13.6-1.fc44 |
| store-results-to | /tmp/tmpq45xi4a8/libevdev-1.13.6-1.fc44.tar.xz |
| time-created | 2026-01-08 18:40:05 |
| time-finished | 2026-01-08 18:41:23 |
| tool | csmock |
| tool-args | '/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmpq45xi4a8/libevdev-1.13.6-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpq45xi4a8/libevdev-1.13.6-1.fc44.src.rpm' |
| tool-version | csmock-3.8.3.20251215.161544.g62de9a5-1.el9 |