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/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/yaml.c Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/php_yaml.h Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/detect.c Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/php_yaml_int.h Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/parse.c Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/emit.c Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/yaml.c Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/php_yaml.h Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/detect.c Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/php_yaml_int.h Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/parse.c Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/emit.c Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/yaml.c Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/php_yaml.h Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/detect.c Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/php_yaml_int.h Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/parse.c Examining data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/emit.c FINAL RESULTS: data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/emit.c:365:13: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. res_size = snprintf(res, 0, ZEND_LONG_FMT, Z_LVAL_P(data)); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/emit.c:367:2: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(res, res_size + 1, ZEND_LONG_FMT, Z_LVAL_P(data)); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/parse.c:878:11: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. (void) snprintf(buf, 32, ZEND_LONG_FMT, Z_LVAL_P(zv)); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/detect.c:545:12: [2] (integer) atol: 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). *lval = atol(buf); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/parse.c:52:2: [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(&dest, &state->event, sizeof(yaml_event_t)); \ data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/parse.c:895:4: [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] = { '\0' }; data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/parse.c:904:4: [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[32] = { '\0' }; data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/detect.c:545:12: [2] (integer) atol: 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). *lval = atol(buf); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/parse.c:52:2: [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(&dest, &state->event, sizeof(yaml_event_t)); \ data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/parse.c:867:4: [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] = { '\0' }; data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/parse.c:876:4: [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[32] = { '\0' }; data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/detect.c:545:12: [2] (integer) atol: 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). *lval = atol(buf); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/parse.c:52:2: [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(&dest, &state->event, sizeof(yaml_event_t)); \ data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/parse.c:867:4: [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] = { '\0' }; data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/parse.c:876:4: [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[32] = { '\0' }; data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/emit.c:301: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). (yaml_char_t *) "~", strlen("~"), data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/emit.c:328: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). (yaml_char_t *) res, strlen(res), data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/emit.c:360: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). (yaml_char_t *) res, strlen(res), data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/emit.c:393: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). (yaml_char_t *) res, strlen(res), data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/emit.c:560:35: [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). ZVAL_STRINGL(&key_zval, kstr, strlen(kstr), 1); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/parse.c:569: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). anchor, (uint) strlen(anchor) + 1, data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/parse.c:629:20: [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). callbacks, tag, strlen(tag) + 1, (void **) &callback)) { data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/parse.c:637:30: [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). ZVAL_STRINGL(tag_arg, tag, strlen(tag), 1); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/parse.c:836:20: [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). callbacks, tag, strlen(tag) + 1, (void **) &callback)) { data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-1.3.2/parse.c:849:27: [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). ZVAL_STRINGL(arg2, tag, strlen(tag), 1); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/emit.c:311: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). (yaml_char_t *) "~", strlen("~"), data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/emit.c:338: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). (yaml_char_t *) res, strlen(res), data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/emit.c:370: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). (yaml_char_t *) res, strlen(res), data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/emit.c:403: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). (yaml_char_t *) res, strlen(res), data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/parse.c:541:57: [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). zend_string *anchor_zstring = zend_string_init(anchor, strlen(anchor), 0); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/parse.c:617:38: [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). tag_zstring = zend_string_init(tag, strlen(tag), 0); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/parse.c:624:40: [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). ZVAL_STRINGL(&callback_args[1], tag, strlen(tag)); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/parse.c:821:38: [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). tag_zstring = zend_string_init(tag, strlen(tag), 0); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.0.4/parse.c:827:31: [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). ZVAL_STRINGL(&argv[1], tag, strlen(tag)); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/emit.c:311: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). (yaml_char_t *) "~", strlen("~"), data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/emit.c:338: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). (yaml_char_t *) res, strlen(res), data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/emit.c:370: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). (yaml_char_t *) res, strlen(res), data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/emit.c:403: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). (yaml_char_t *) res, strlen(res), data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/parse.c:541:57: [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). zend_string *anchor_zstring = zend_string_init(anchor, strlen(anchor), 0); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/parse.c:617:38: [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). tag_zstring = zend_string_init(tag, strlen(tag), 0); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/parse.c:624:40: [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). ZVAL_STRINGL(&callback_args[1], tag, strlen(tag)); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/parse.c:821:38: [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). tag_zstring = zend_string_init(tag, strlen(tag), 0); data/php-yaml-2.1.0+2.0.4+1.3.2/yaml-2.1.0/parse.c:827:31: [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). ZVAL_STRINGL(&argv[1], tag, strlen(tag)); ANALYSIS SUMMARY: Hits = 43 Lines analyzed = 11208 in approximately 0.24 seconds (47135 lines/second) Physical Source Lines of Code (SLOC) = 7291 Hits@level = [0] 21 [1] 28 [2] 12 [3] 0 [4] 3 [5] 0 Hits@level+ = [0+] 64 [1+] 43 [2+] 15 [3+] 3 [4+] 3 [5+] 0 Hits/KSLOC@level+ = [0+] 8.77795 [1+] 5.89768 [2+] 2.05733 [3+] 0.411466 [4+] 0.411466 [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.