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/libyaml-syck-perl-1.34/syck_st.h Examining data/libyaml-syck-perl-1.34/syck_st.c Examining data/libyaml-syck-perl-1.34/bytecode.c Examining data/libyaml-syck-perl-1.34/gram.h Examining data/libyaml-syck-perl-1.34/syck_.c Examining data/libyaml-syck-perl-1.34/perl_common.h Examining data/libyaml-syck-perl-1.34/node.c Examining data/libyaml-syck-perl-1.34/ppport_math.h Examining data/libyaml-syck-perl-1.34/token.c Examining data/libyaml-syck-perl-1.34/perl_syck.h Examining data/libyaml-syck-perl-1.34/ppport.h Examining data/libyaml-syck-perl-1.34/gram.c Examining data/libyaml-syck-perl-1.34/ppport_sort.h Examining data/libyaml-syck-perl-1.34/handler.c Examining data/libyaml-syck-perl-1.34/emitter.c Examining data/libyaml-syck-perl-1.34/implicit.c Examining data/libyaml-syck-perl-1.34/syck.h FINAL RESULTS: data/libyaml-syck-perl-1.34/bytecode.c:344:21: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( sycklval->name, lvl->domain ); data/libyaml-syck-perl-1.34/bytecode.c:364:25: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( sycklval->name, lvl->domain ); data/libyaml-syck-perl-1.34/emitter.c:411:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( an, "&%s ", anchor_name ); data/libyaml-syck-perl-1.34/emitter.c:428:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( an, "*%s", anchor_name ); data/libyaml-syck-perl-1.34/emitter.c:1343:13: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf( anchor_name, anc, idx ); data/libyaml-syck-perl-1.34/gram.c:666:21: [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. # define YYFPRINTF fprintf data/libyaml-syck-perl-1.34/handler.c:172:5: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( uri, domain ); data/libyaml-syck-perl-1.34/implicit.c:2281:21: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( domain, YAML_DOMAIN ); data/libyaml-syck-perl-1.34/perl_syck.h:907:9: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(tag, OBJECT_TAG); data/libyaml-syck-perl-1.34/perl_syck.h:963:9: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(tag, ref); data/libyaml-syck-perl-1.34/ppport.h:8892:14: [4] (format) vsnprintf: 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. retval = vsnprintf(buffer, len, format, ap); data/libyaml-syck-perl-1.34/ppport.h:8894:14: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. retval = vsprintf(buffer, format, ap); data/libyaml-syck-perl-1.34/ppport.h:8929:5: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. vsprintf(buffer, pat, args); data/libyaml-syck-perl-1.34/token.c:2275:29: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( sycklval->name, lvl->domain ); data/libyaml-syck-perl-1.34/token.c:2295:33: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( sycklval->name, lvl->domain ); data/libyaml-syck-perl-1.34/emitter.c:379:13: [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( header, "--- %%YAML:%d.%d ", SYCK_YAML_MAJOR, SYCK_YAML_MINOR ); data/libyaml-syck-perl-1.34/handler.c:161:5: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat( uri, "x-private:" ); data/libyaml-syck-perl-1.34/handler.c:171:5: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat( uri, "tag:" ); data/libyaml-syck-perl-1.34/node.c:116:5: [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( n->data.str->ptr, str, len ); data/libyaml-syck-perl-1.34/node.c:140:5: [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( n->data.str->ptr, str, len ); data/libyaml-syck-perl-1.34/perl_syck.h:910:30: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. case SVt_PVAV: { strcat(tag, "array:"); break; } data/libyaml-syck-perl-1.34/perl_syck.h:911:30: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. case SVt_PVHV: { strcat(tag, "hash:"); break; } data/libyaml-syck-perl-1.34/perl_syck.h:912:30: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. case SVt_PVCV: { strcat(tag, "code:"); break; } data/libyaml-syck-perl-1.34/perl_syck.h:913:30: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. case SVt_PVGV: { strcat(tag, "glob:"); break; } data/libyaml-syck-perl-1.34/perl_syck.h:917:21: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(tag, "regexp"); data/libyaml-syck-perl-1.34/perl_syck.h:920:21: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(tag, "regexp:"); data/libyaml-syck-perl-1.34/perl_syck.h:929:21: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(tag, "ref:"); data/libyaml-syck-perl-1.34/perl_syck.h:934:21: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(tag, "scalar:"); data/libyaml-syck-perl-1.34/perl_syck.h:944:29: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(tag, "regexp"); data/libyaml-syck-perl-1.34/perl_syck.h:948:29: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(tag, "regexp:"); data/libyaml-syck-perl-1.34/perl_syck.h:954:25: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(tag, "scalar:"); data/libyaml-syck-perl-1.34/ppport.h:6788:42: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. # define CopyD(s,d,n,t) memcpy((char*)(d),(char*)(s), (n) * sizeof(t)) data/libyaml-syck-perl-1.34/ppport.h:8745:38: [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. && (xdigit = strchr((char *) PL_hexdigit, s[1]))) data/libyaml-syck-perl-1.34/ppport.h:8976:9: [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(dst + used, src, copy); data/libyaml-syck-perl-1.34/ppport.h:9006:9: [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(dst, src, copy); data/libyaml-syck-perl-1.34/ppport.h:9546:5: [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 octbuf[32] = "%123456789ABCDF"; data/libyaml-syck-perl-1.34/ppport.h:9616:13: [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 tmp[2]; data/libyaml-syck-perl-1.34/syck.h:75:32: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. #define S_MEMCPY(p1,p2,type,n) memcpy((p1), (p2), sizeof(type)*(n)) data/libyaml-syck-perl-1.34/syck_st.c:145:15: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *f = fopen("/tmp/col", "w"); data/libyaml-syck-perl-1.34/bytecode.c:328: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). int qidx = strlen( qstr ); data/libyaml-syck-perl-1.34/bytecode.c:342:62: [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). sycklval->name = S_ALLOC_N( char, qidx + strlen( lvl->domain ) ); data/libyaml-syck-perl-1.34/bytecode.c:345:21: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( sycklval->name, qstr + 2, qidx - 2 ); data/libyaml-syck-perl-1.34/bytecode.c:362:78: [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). sycklval->name = S_ALLOC_N( char, ( qend - carat ) + strlen( lvl->domain ) ); data/libyaml-syck-perl-1.34/bytecode.c:365:25: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( sycklval->name, carat + 1, ( qend - carat ) - 1 ); data/libyaml-syck-perl-1.34/bytecode.c:370:59: [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). sycklval->name = S_ALLOC_N( char, strlen( qstr ) ); data/libyaml-syck-perl-1.34/bytecode.c:372: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). S_MEMCPY( sycklval->name, qstr + 1, char, strlen( qstr ) ); data/libyaml-syck-perl-1.34/emitter.c:219:82: [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). e->levels[e->lvl_idx].domain = syck_strndup( e->levels[e->lvl_idx-1].domain, strlen( e->levels[e->lvl_idx-1].domain ) ); data/libyaml-syck-perl-1.34/emitter.c:380:44: [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). syck_emitter_write( e, header, strlen( header ) ); data/libyaml-syck-perl-1.34/emitter.c:410:41: [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 *an = S_ALLOC_N( char, strlen( anchor_name ) + 3 ); data/libyaml-syck-perl-1.34/emitter.c:419: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). syck_emitter_write( e, an, strlen( anchor_name ) + 2 ); data/libyaml-syck-perl-1.34/emitter.c:427:41: [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 *an = S_ALLOC_N( char, strlen( anchor_name ) + 2 ); data/libyaml-syck-perl-1.34/emitter.c:429: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). syck_emitter_write( e, an, strlen( anchor_name ) + 1 ); data/libyaml-syck-perl-1.34/emitter.c:461:10: [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). if ( strlen( tag ) == 0 ) { data/libyaml-syck-perl-1.34/emitter.c:466: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). int taglen = strlen( tag ); data/libyaml-syck-perl-1.34/emitter.c:468:45: [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). if ( strncmp( tag + 4, YAML_DOMAIN, strlen( YAML_DOMAIN ) ) == 0 ) { data/libyaml-syck-perl-1.34/emitter.c:469: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). int skip = 4 + strlen( YAML_DOMAIN ) + 1; data/libyaml-syck-perl-1.34/emitter.c:475:37: [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). if ( subd - tag > ( strlen( YAML_DOMAIN ) + 5 ) && data/libyaml-syck-perl-1.34/emitter.c:476: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). strncmp( subd - strlen( YAML_DOMAIN ), YAML_DOMAIN, strlen( YAML_DOMAIN ) ) == 0 ) { data/libyaml-syck-perl-1.34/emitter.c:476:74: [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). strncmp( subd - strlen( YAML_DOMAIN ), YAML_DOMAIN, strlen( YAML_DOMAIN ) ) == 0 ) { data/libyaml-syck-perl-1.34/emitter.c:477:60: [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). syck_emitter_write( e, tag + 4, subd - strlen( YAML_DOMAIN ) - ( tag + 4 ) - 1 ); data/libyaml-syck-perl-1.34/emitter.c:495: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). syck_emitter_write( e, tag + 10, strlen( tag ) - 10 ); data/libyaml-syck-perl-1.34/emitter.c:1341:44: [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_name = S_ALLOC_N( char, strlen( anc ) + 10 ); data/libyaml-syck-perl-1.34/emitter.c:1342:43: [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). S_MEMZERO( anchor_name, char, strlen( anc ) + 10 ); data/libyaml-syck-perl-1.34/gram.c:787: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). # define yystrlen strlen data/libyaml-syck-perl-1.34/handler.c:162:5: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( uri, type_id, type_len ); data/libyaml-syck-perl-1.34/handler.c:169:34: [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 *uri = S_ALLOC_N( char, strlen( domain ) + type_len + 14 ); data/libyaml-syck-perl-1.34/handler.c:173:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( uri, ":" ); data/libyaml-syck-perl-1.34/handler.c:174:5: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( uri, type_id, type_len ); data/libyaml-syck-perl-1.34/implicit.c:41:53: [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). n->type_id = syck_taguri( YAML_DOMAIN, tid, strlen( tid ) ); data/libyaml-syck-perl-1.34/implicit.c:43:41: [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). n->type_id = syck_strndup( tid, strlen( tid ) ); data/libyaml-syck-perl-1.34/implicit.c:1711:49: [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 *tmp1 = syck_strndup( (char*)tag1, strlen( tag1 ) ); data/libyaml-syck-perl-1.34/implicit.c:1712:49: [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 *tmp2 = syck_strndup( (char*)tag2, strlen( tag2 ) ); data/libyaml-syck-perl-1.34/implicit.c:1733:23: [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). limit = type_id + strlen( type_id ); data/libyaml-syck-perl-1.34/implicit.c:1886:48: [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). { return syck_taguri( YAML_DOMAIN, type_id, strlen( type_id ) ); } data/libyaml-syck-perl-1.34/implicit.c:1963:41: [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). { return syck_xprivate( type_id + 1, strlen( type_id ) - 1 ); } data/libyaml-syck-perl-1.34/implicit.c:2279:21: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( domain, type_id, ( YYCURSOR - type_id ) - 1 ); data/libyaml-syck-perl-1.34/implicit.c:2280:21: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( domain, "." ); data/libyaml-syck-perl-1.34/implicit.c:2507:32: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( domain, type_id, ( YYCURSOR - type_id ) - 1 ); data/libyaml-syck-perl-1.34/implicit.c:2644:36: [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). { return syck_strndup( type_id, strlen( type_id ) ); } data/libyaml-syck-perl-1.34/implicit.c:3116:36: [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). { return syck_strndup( type_id, strlen( type_id ) ); } data/libyaml-syck-perl-1.34/node.c:104: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). return syck_new_str2( str, strlen( str ), style ); data/libyaml-syck-perl-1.34/node.c:125: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). syck_replace_str2( n, str, strlen( str ), style ); data/libyaml-syck-perl-1.34/perl_common.h:73:34: [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). (SYMID)newSVpvn_share(a, strlen(a), 0) data/libyaml-syck-perl-1.34/perl_syck.h:106:37: [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). pref_av = hv_fetch(map, anchor, strlen(anchor), 0); data/libyaml-syck-perl-1.34/perl_syck.h:109: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). hv_store(map, anchor, strlen(anchor), new_rvav, 0); data/libyaml-syck-perl-1.34/perl_syck.h:128:37: [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). pref_av = hv_fetch(map, anchor, strlen(anchor), 0); data/libyaml-syck-perl-1.34/perl_syck.h:634:18: [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 len = strlen(s); data/libyaml-syck-perl-1.34/perl_syck.h:1047:101: [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). syck_emit_scalar(e, "tag:yaml.org,2002:binary", SCALAR_STRING, 0, 0, 0, base64, strlen(base64)); data/libyaml-syck-perl-1.34/perl_syck.h:1196: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). reallen = strlen(SvPV_nolen(text)); data/libyaml-syck-perl-1.34/ppport.h:6023:79: [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 vnewSVpvf(pat, args) ({ SV *_sv = newSV(0); sv_vsetpvfn(_sv, (pat), strlen((pat)), (args), Null(SV**), 0, Null(bool*)); _sv; }) data/libyaml-syck-perl-1.34/ppport.h:6025:79: [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 vnewSVpvf(pat, args) ((PL_Sv = newSV(0)), sv_vsetpvfn(PL_Sv, (pat), strlen((pat)), (args), Null(SV**), 0, Null(bool*)), PL_Sv) data/libyaml-syck-perl-1.34/ppport.h:6030:59: [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 sv_vcatpvf(sv, pat, args) sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)) data/libyaml-syck-perl-1.34/ppport.h:6034:59: [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 sv_vsetpvf(sv, pat, args) sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)) data/libyaml-syck-perl-1.34/ppport.h:6055:24: [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). sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); data/libyaml-syck-perl-1.34/ppport.h:6084:24: [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). sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); data/libyaml-syck-perl-1.34/ppport.h:6105: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). sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \ data/libyaml-syck-perl-1.34/ppport.h:6128:24: [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). sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); data/libyaml-syck-perl-1.34/ppport.h:6157:24: [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). sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); data/libyaml-syck-perl-1.34/ppport.h:6178: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). sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \ data/libyaml-syck-perl-1.34/ppport.h:7721:65: [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 HvNAMELEN_get(hv) (HvNAME_get(hv) ? (I32)strlen(HvNAME_get(hv)) : 0) data/libyaml-syck-perl-1.34/ppport.h:8336: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 len = strlen(radix); data/libyaml-syck-perl-1.34/ppport.h:8931:12: [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). return strlen(buffer); data/libyaml-syck-perl-1.34/ppport.h:8972:12: [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). used = strlen(dst); data/libyaml-syck-perl-1.34/ppport.h:8973:14: [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). length = strlen(src); data/libyaml-syck-perl-1.34/ppport.h:9003:14: [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). length = strlen(src); data/libyaml-syck-perl-1.34/syck.h:218:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). SyckIoFileRead read; data/libyaml-syck-perl-1.34/syck.h:225:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). SyckIoStrRead read; data/libyaml-syck-perl-1.34/syck_.c:296:59: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). syck_parser_file( SyckParser *p, FILE *fp, SyckIoFileRead read ) data/libyaml-syck-perl-1.34/syck_.c:304:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( read != NULL ) data/libyaml-syck-perl-1.34/syck_.c:306:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). p->io.file->read = read; data/libyaml-syck-perl-1.34/syck_.c:315:68: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). syck_parser_str( SyckParser *p, char *ptr, long len, SyckIoStrRead read ) data/libyaml-syck-perl-1.34/syck_.c:325:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( read != NULL ) data/libyaml-syck-perl-1.34/syck_.c:327:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). p->io.str->read = read; data/libyaml-syck-perl-1.34/syck_.c:336:63: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). syck_parser_str_auto( SyckParser *p, char *ptr, SyckIoStrRead read ) data/libyaml-syck-perl-1.34/syck_.c:338: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). syck_parser_str( p, ptr, strlen( ptr ), read ); data/libyaml-syck-perl-1.34/syck_.c:338:45: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). syck_parser_str( p, ptr, strlen( ptr ), read ); data/libyaml-syck-perl-1.34/syck_.c:372:82: [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). p->levels[p->lvl_idx].domain = syck_strndup( p->levels[p->lvl_idx-1].domain, strlen( p->levels[p->lvl_idx-1].domain ) ); data/libyaml-syck-perl-1.34/syck_.c:451:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). len = (p->io.str->read)( p->buffer, p->io.str, SYCK_BUFFERSIZE - 1, skip ); data/libyaml-syck-perl-1.34/syck_.c:456:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). len = (p->io.file->read)( p->buffer, p->io.file, SYCK_BUFFERSIZE - 1, skip ); data/libyaml-syck-perl-1.34/syck_.c:473:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). len = (p->io.str->read)( p->buffer, p->io.str, max_size, skip ); data/libyaml-syck-perl-1.34/syck_.c:478:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). len = (p->io.file->read)( p->buffer, p->io.file, max_size, skip ); data/libyaml-syck-perl-1.34/token.c:2273:70: [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). sycklval->name = S_ALLOC_N( char, qidx + strlen( lvl->domain ) ); data/libyaml-syck-perl-1.34/token.c:2276:29: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( sycklval->name, qstr + 1, qidx - 1 ); data/libyaml-syck-perl-1.34/token.c:2293:86: [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). sycklval->name = S_ALLOC_N( char, ( qend - carat ) + strlen( lvl->domain ) ); data/libyaml-syck-perl-1.34/token.c:2296:33: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( sycklval->name, carat + 1, ( qend - carat ) - 1 ); ANALYSIS SUMMARY: Hits = 125 Lines analyzed = 24068 in approximately 0.56 seconds (42963 lines/second) Physical Source Lines of Code (SLOC) = 16632 Hits@level = [0] 4 [1] 86 [2] 24 [3] 0 [4] 15 [5] 0 Hits@level+ = [0+] 129 [1+] 125 [2+] 39 [3+] 15 [4+] 15 [5+] 0 Hits/KSLOC@level+ = [0+] 7.75613 [1+] 7.51563 [2+] 2.34488 [3+] 0.901876 [4+] 0.901876 [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.