Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler. Number of rules (primarily dangerous function names) in C/C++ ruleset: 223 Examining data/xfce4-sntray-plugin-0.4.13.1/include/sn-common.h Examining data/xfce4-sntray-plugin-0.4.13.1/src/dbus-utils.c Examining data/xfce4-sntray-plugin-0.4.13.1/src/icon-pixmap.c Examining data/xfce4-sntray-plugin-0.4.13.1/src/icon-pixmap.h Examining data/xfce4-sntray-plugin-0.4.13.1/src/rtparser.c Examining data/xfce4-sntray-plugin-0.4.13.1/src/rtparser.h Examining data/xfce4-sntray-plugin-0.4.13.1/src/snproxy.c Examining data/xfce4-sntray-plugin-0.4.13.1/src/snproxy.h Examining data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/application.c Examining data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/application.h Examining data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/gwater-xcb.c Examining data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/gwater-xcb.h Examining data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/sn.c Examining data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/sn.h Examining data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xcb-tray.c Examining data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xcb-utils.c Examining data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xcb-utils.h Examining data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xtestsender.c Examining data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xtestsender.h FINAL RESULTS: data/xfce4-sntray-plugin-0.4.13.1/src/rtparser.c:200:32: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). return g_strdup_printf("%d", atoi(size) * PANGO_SCALE); data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/sn.c:685:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[64], *b = buf; data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xcb-tray.c:138:33: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(name, xcb_get_atom_name_name(r), len); data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xcb-tray.c:204:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char atomname[strlen("_NET_SYSTEM_TRAY_S") + 11]; data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xcb-utils.c:61:15: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char *atom_names[N_ATOMS]; data/xfce4-sntray-plugin-0.4.13.1/include/sn-common.h:43:46: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). #define string_empty(str) (!(str) ? true : (!strlen(str) ? true : false)) data/xfce4-sntray-plugin-0.4.13.1/src/rtparser.c:126:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t string_length = strlen(self); data/xfce4-sntray-plugin-0.4.13.1/src/rtparser.c:365:67: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). bool res = g_markup_parse_context_parse(self->context, prepared, strlen(prepared), &err); data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xcb-tray.c:204:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char atomname[strlen("_NET_SYSTEM_TRAY_S") + 11]; data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xcb-tray.c:250:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(title), data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xcb-tray.c:256:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). snprintf(atomname, strlen("_NET_SYSTEM_TRAY_S") + 11, "_NET_SYSTEM_TRAY_S0"); data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xcb-tray.c:257:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). stc = xcb_intern_atom(conn, 0, strlen(atomname), atomname); data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xcb-utils.c:76:28: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). uint16_t len = (uint16_t)strlen(atom_names[i]); data/xfce4-sntray-plugin-0.4.13.1/xembedsniproxy/xcb-utils.c:200:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). xcb_intern_atom_unchecked(connection, false, strlen(true_atom_name), true_atom_name); ANALYSIS SUMMARY: Hits = 14 Lines analyzed = 4413 in approximately 0.12 seconds (36327 lines/second) Physical Source Lines of Code (SLOC) = 3470 Hits@level = [0] 10 [1] 9 [2] 5 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 24 [1+] 14 [2+] 5 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 6.91643 [1+] 4.03458 [2+] 1.44092 [3+] 0 [4+] 0 [5+] 0 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.