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/yorick-gy-0.0.5/gy.c Examining data/yorick-gy-0.0.5/gy.h Examining data/yorick-gy-0.0.5/gy_argument.c Examining data/yorick-gy-0.0.5/gy_callback.c Examining data/yorick-gy-0.0.5/gy_gvalue.c Examining data/yorick-gy-0.0.5/gy_object.c Examining data/yorick-gy-0.0.5/gy_property.c Examining data/yorick-gy-0.0.5/gy_repository.c Examining data/yorick-gy-0.0.5/gy_typelib.c FINAL RESULTS: data/yorick-gy-0.0.5/gy.h:44:19: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. if (gy_debug()) fprintf(stderr, "GY DEBUG: " __VA_ARGS__ ); data/yorick-gy-0.0.5/gy_callback.c:61:5: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(buf, fmt, cmd, var1, varud); data/yorick-gy-0.0.5/gy_callback.c:136:5: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(buf, fmt, cmd, var1, var2, varud); data/yorick-gy-0.0.5/gy_callback.c:209:5: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(buf, fmt, cmd, var1, var2, var3, varud); data/yorick-gy-0.0.5/gy_property.c:61:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(name, oname); data/yorick-gy-0.0.5/gy_property.c:105:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(name, oname); data/yorick-gy-0.0.5/gy_argument.c:104:4: [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(arg->v_pointer, tmp, ntot*sizeof(guint8)); data/yorick-gy-0.0.5/gy_object.c:90:3: [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 spointer[40] = {0}; data/yorick-gy-0.0.5/gy_object.c:92:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(spointer, "%p", o->object); data/yorick-gy-0.0.5/gy_callback.c:60:5: [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(fmt)+strlen(cmd)+strlen(var1)+strlen(varud))); data/yorick-gy-0.0.5/gy_callback.c:60:17: [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(fmt)+strlen(cmd)+strlen(var1)+strlen(varud))); data/yorick-gy-0.0.5/gy_callback.c:60:29: [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(fmt)+strlen(cmd)+strlen(var1)+strlen(varud))); data/yorick-gy-0.0.5/gy_callback.c:60:42: [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(fmt)+strlen(cmd)+strlen(var1)+strlen(varud))); data/yorick-gy-0.0.5/gy_callback.c:134:5: [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(fmt)+strlen(cmd)+strlen(var1)+strlen(var2) data/yorick-gy-0.0.5/gy_callback.c:134:17: [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(fmt)+strlen(cmd)+strlen(var1)+strlen(var2) data/yorick-gy-0.0.5/gy_callback.c:134:29: [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(fmt)+strlen(cmd)+strlen(var1)+strlen(var2) data/yorick-gy-0.0.5/gy_callback.c:134:42: [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(fmt)+strlen(cmd)+strlen(var1)+strlen(var2) data/yorick-gy-0.0.5/gy_callback.c:135:6: [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(varud))); data/yorick-gy-0.0.5/gy_callback.c:206:5: [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(fmt)+strlen(cmd) data/yorick-gy-0.0.5/gy_callback.c:206:17: [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(fmt)+strlen(cmd) data/yorick-gy-0.0.5/gy_callback.c:207:6: [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(var1)+strlen(var2)+strlen(var3) data/yorick-gy-0.0.5/gy_callback.c:207:19: [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(var1)+strlen(var2)+strlen(var3) data/yorick-gy-0.0.5/gy_callback.c:207:32: [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(var1)+strlen(var2)+strlen(var3) data/yorick-gy-0.0.5/gy_callback.c:208:6: [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(varud))); ANALYSIS SUMMARY: Hits = 24 Lines analyzed = 2593 in approximately 0.08 seconds (31609 lines/second) Physical Source Lines of Code (SLOC) = 2012 Hits@level = [0] 30 [1] 15 [2] 3 [3] 0 [4] 6 [5] 0 Hits@level+ = [0+] 54 [1+] 24 [2+] 9 [3+] 6 [4+] 6 [5+] 0 Hits/KSLOC@level+ = [0+] 26.839 [1+] 11.9284 [2+] 4.47316 [3+] 2.98211 [4+] 2.98211 [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.