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/ruli-0.36/guile/guile_ruli.c Examining data/ruli-0.36/guile/guile_ruli.h Examining data/ruli-0.36/guile/ruli-guile.c Examining data/ruli-0.36/java/src/jni/ruli_RuliSyncImp.c Examining data/ruli-0.36/java/src/jni/ruli_RuliSyncImp.h Examining data/ruli-0.36/lua/lua_ruli.c Examining data/ruli-0.36/lua/lua_ruli.h Examining data/ruli-0.36/perl/RULI/ppport.h Examining data/ruli-0.36/php/ruli/php_ruli.c Examining data/ruli-0.36/php/ruli/php_ruli.h Examining data/ruli-0.36/sample/addrprint.c Examining data/ruli-0.36/sample/addrprint.h Examining data/ruli-0.36/sample/getaddrinfo.c Examining data/ruli-0.36/sample/httpsearch.c Examining data/ruli-0.36/sample/parse_options.c Examining data/ruli-0.36/sample/parse_options.h Examining data/ruli-0.36/sample/ruli-getaddrinfo.c Examining data/ruli-0.36/sample/run_getaddrinfo.c Examining data/ruli-0.36/sample/run_getaddrinfo.h Examining data/ruli-0.36/sample/smtpsearch.c Examining data/ruli-0.36/sample/srvsearch.c Examining data/ruli-0.36/sample/stdout_srv_list.c Examining data/ruli-0.36/sample/stdout_srv_list.h Examining data/ruli-0.36/sample/sync_httpsearch.c Examining data/ruli-0.36/sample/sync_smtpsearch.c Examining data/ruli-0.36/sample/sync_srvsearch.c Examining data/ruli-0.36/src/ruli.h Examining data/ruli-0.36/src/ruli_addr.c Examining data/ruli-0.36/src/ruli_addr.h Examining data/ruli-0.36/src/ruli_conf.c Examining data/ruli-0.36/src/ruli_conf.h Examining data/ruli-0.36/src/ruli_fsm.c Examining data/ruli-0.36/src/ruli_fsm.h Examining data/ruli-0.36/src/ruli_getaddrinfo.c Examining data/ruli-0.36/src/ruli_getaddrinfo.h Examining data/ruli-0.36/src/ruli_host.c Examining data/ruli-0.36/src/ruli_host.h Examining data/ruli-0.36/src/ruli_http.c Examining data/ruli-0.36/src/ruli_http.h Examining data/ruli-0.36/src/ruli_isaac.c Examining data/ruli-0.36/src/ruli_isaac.h Examining data/ruli-0.36/src/ruli_limits.h Examining data/ruli-0.36/src/ruli_list.c Examining data/ruli-0.36/src/ruli_list.h Examining data/ruli-0.36/src/ruli_mem.c Examining data/ruli-0.36/src/ruli_mem.h Examining data/ruli-0.36/src/ruli_msg.c Examining data/ruli-0.36/src/ruli_msg.h Examining data/ruli-0.36/src/ruli_oop.h Examining data/ruli-0.36/src/ruli_parse.c Examining data/ruli-0.36/src/ruli_parse.h Examining data/ruli-0.36/src/ruli_rand.c Examining data/ruli-0.36/src/ruli_rand.h Examining data/ruli-0.36/src/ruli_res.c Examining data/ruli-0.36/src/ruli_res.h Examining data/ruli-0.36/src/ruli_search.c Examining data/ruli-0.36/src/ruli_search.h Examining data/ruli-0.36/src/ruli_smtp.c Examining data/ruli-0.36/src/ruli_smtp.h Examining data/ruli-0.36/src/ruli_sock.c Examining data/ruli-0.36/src/ruli_sock.h Examining data/ruli-0.36/src/ruli_srv.c Examining data/ruli-0.36/src/ruli_srv.h Examining data/ruli-0.36/src/ruli_sync.c Examining data/ruli-0.36/src/ruli_sync.h Examining data/ruli-0.36/src/ruli_txt.c Examining data/ruli-0.36/src/ruli_txt.h Examining data/ruli-0.36/src/ruli_util.c Examining data/ruli-0.36/src/ruli_util.h Examining data/ruli-0.36/tools/addrsolver.c Examining data/ruli-0.36/tools/addrsolver2.c Examining data/ruli-0.36/tools/addrsolver3.c Examining data/ruli-0.36/tools/cycle_res.c Examining data/ruli-0.36/tools/cycle_res2.c Examining data/ruli-0.36/tools/hostsolver.c Examining data/ruli-0.36/tools/in6_addr.c Examining data/ruli-0.36/tools/ipv6.c Examining data/ruli-0.36/tools/list.c Examining data/ruli-0.36/tools/rand.c Examining data/ruli-0.36/tools/resolve.c Examining data/ruli-0.36/tools/rfc3484.c Examining data/ruli-0.36/tools/ruli-host.c Examining data/ruli-0.36/tools/srvsolver.c Examining data/ruli-0.36/tools/srvsolver2.c Examining data/ruli-0.36/tools/stdin_domains.c Examining data/ruli-0.36/tools/stdin_domains.h Examining data/ruli-0.36/tools/stdout_srv_list.c Examining data/ruli-0.36/tools/stdout_srv_list.h Examining data/ruli-0.36/tools/syncsolver.c Examining data/ruli-0.36/tools/trivial_conf_handler.c Examining data/ruli-0.36/tools/trivial_conf_handler.h FINAL RESULTS: data/ruli-0.36/tools/hostsolver.c:263:14: [5] (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. Risk is high; the length parameter appears to be a constant, instead of computing the number of characters left. char *dst = strncat(buf, "\n", BUFSZ); data/ruli-0.36/sample/getaddrinfo.c:177:2: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(fullname); data/ruli-0.36/sample/httpsearch.c:193: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(qbuf->txt_domain, domain); data/ruli-0.36/sample/ruli-getaddrinfo.c:179:2: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(fullname); data/ruli-0.36/sample/smtpsearch.c:192: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(qbuf->txt_domain, domain); data/ruli-0.36/src/ruli_addr.c:396:6: [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. w = fprintf(out, fmt, sum); data/ruli-0.36/src/ruli_addr.c:418:12: [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. return fprintf(out, inet_ntoa(addr->ipv4)); data/ruli-0.36/src/ruli_addr.c:467:6: [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. w = snprintf(buf + wr, size - wr, fmt, sum); data/ruli-0.36/src/ruli_addr.c:491:12: [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. return snprintf(buf, size, inet_ntoa(addr->ipv4)); data/ruli-0.36/src/ruli_addr.c:997:7: [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. fprintf(stderr, inet_ntoa(addr->src_sock.sock.sin_addr)); data/ruli-0.36/src/ruli_conf.c:307:5: [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. fprintf(stderr, data/ruli-0.36/src/ruli_util.h:48:12: [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. extern int snprintf(char *, size_t, const char *, ...); data/ruli-0.36/tools/addrsolver.c:78:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver.c:89:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver.c:118:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver.c:139:7: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver.c:216:7: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver2.c:78:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver2.c:89:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver2.c:118:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver2.c:139:7: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver2.c:216:7: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver3.c:78:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver3.c:89:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver3.c:118:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver3.c:139:7: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/addrsolver3.c:216:7: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/ipv6.c:46:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/ruli-host.c:73:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/ruli-host.c:88:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/ruli-host.c:112:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(buf); data/ruli-0.36/tools/srvsolver.c:77:3: [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. fprintf(out, fmt, msg, buf_len); data/ruli-0.36/tools/srvsolver2.c:84:3: [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. fprintf(out, fmt, msg, buf_len); data/ruli-0.36/guile/guile_ruli.c:138:7: [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 txt_dname_buf[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/guile/guile_ruli.c:170:7: [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[40]; data/ruli-0.36/java/src/jni/ruli_RuliSyncImp.c:100:7: [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 txt_dname_buf[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/java/src/jni/ruli_RuliSyncImp.c:138:7: [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[40]; data/ruli-0.36/lua/lua_ruli.c:86:7: [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 txt_dname_buf[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/lua/lua_ruli.c:143:7: [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[40]; data/ruli-0.36/php/ruli/php_ruli.c:148: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 string[256]; data/ruli-0.36/php/ruli/php_ruli.c:154:8: [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. len = sprintf(string, "Congratulations! You have successfully modified ext/%.78s/config.m4. Module %.78s is now compiled into PHP.", "ruli", arg); data/ruli-0.36/php/ruli/php_ruli.c:206: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 txt_dname_buf[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/php/ruli/php_ruli.c:232: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[40]; data/ruli-0.36/sample/addrprint.c:44:7: [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[INET_ADDRSTRLEN]; data/ruli-0.36/sample/addrprint.c:53:7: [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[INET6_ADDRSTRLEN]; data/ruli-0.36/sample/getaddrinfo.c:50: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 name[name_len + 1]; data/ruli-0.36/sample/getaddrinfo.c:57:3: [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, fullname, name_len + 1); data/ruli-0.36/sample/getaddrinfo.c:115: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 service[100]; data/ruli-0.36/sample/getaddrinfo.c:131: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(service, i, j - i); data/ruli-0.36/sample/getaddrinfo.c:222: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 inbuf[INBUFSZ]; data/ruli-0.36/sample/httpsearch.c:51: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 txt_domain[QBUFSZ]; data/ruli-0.36/sample/httpsearch.c:256: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 inbuf[INBUFSZ]; data/ruli-0.36/sample/httpsearch.c:327:12: [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). port = atoi(argv[1]); data/ruli-0.36/sample/ruli-getaddrinfo.c:51: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 name[name_len + 1]; data/ruli-0.36/sample/ruli-getaddrinfo.c:58:3: [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, fullname, name_len + 1); data/ruli-0.36/sample/ruli-getaddrinfo.c:117: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 service[BUFSZ]; data/ruli-0.36/sample/ruli-getaddrinfo.c:133: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(service, i, j - i); data/ruli-0.36/sample/ruli-getaddrinfo.c:223: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 inbuf[INBUFSZ]; data/ruli-0.36/sample/smtpsearch.c:51: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 txt_domain[QBUFSZ]; data/ruli-0.36/sample/smtpsearch.c:254: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 inbuf[INBUFSZ]; data/ruli-0.36/sample/srvsearch.c:51: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 txt_service[QBUFSZ]; data/ruli-0.36/sample/srvsearch.c:53: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 txt_domain[QBUFSZ]; data/ruli-0.36/sample/srvsearch.c:122: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 fullname[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/sample/srvsearch.c:236: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(qbuf->txt_service, domain, qbuf->txt_service_len); data/ruli-0.36/sample/srvsearch.c:247: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(qbuf->txt_domain, i, qbuf->txt_domain_len); data/ruli-0.36/sample/srvsearch.c:320: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 inbuf[INBUFSZ]; data/ruli-0.36/sample/stdout_srv_list.c:65:7: [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 txt_dname_buf[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/sample/sync_httpsearch.c:103: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 inbuf[INBUFSZ]; data/ruli-0.36/sample/sync_httpsearch.c:158:12: [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). port = atoi(argv[1]); data/ruli-0.36/sample/sync_smtpsearch.c:103: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 inbuf[INBUFSZ]; data/ruli-0.36/sample/sync_srvsearch.c:47: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 name[name_len + 1]; data/ruli-0.36/sample/sync_srvsearch.c:54:3: [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, fullname, name_len + 1); data/ruli-0.36/sample/sync_srvsearch.c:169: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 inbuf[INBUFSZ]; data/ruli-0.36/src/ruli_addr.c:688: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(&in6_mem, &tmp, sizeof(tmp)); data/ruli-0.36/src/ruli_addr.c:692: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(&in6_mem, &tmp, sizeof(tmp)); data/ruli-0.36/src/ruli_addr.c:703: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(((char *) &in6_mem) + 12, &in->s_addr, 4); data/ruli-0.36/src/ruli_conf.c:65: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 inbuf[LOAD_SEARCH_LIST_INBUFSZ]; data/ruli-0.36/src/ruli_conf.c:68:10: [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). in = fopen(RESOLV_CONF, "r"); data/ruli-0.36/src/ruli_conf.c:159:7: [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 txt_domain[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_conf.c:227: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 inbuf[LOAD_NS_LIST_INBUFSZ]; data/ruli-0.36/src/ruli_conf.c:230:10: [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). in = fopen(RESOLV_CONF, "r"); data/ruli-0.36/src/ruli_fsm.c:1064:3: [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(qry->answer_buf, buf, rd); data/ruli-0.36/src/ruli_fsm.c:1506: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(qry->answer_buf, server->tcp_head_buf + 2, len); data/ruli-0.36/src/ruli_getaddrinfo.c:79: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 full_service[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_getaddrinfo.c:92:7: [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). if (atoi(service) > 0 || *service == '0') data/ruli-0.36/src/ruli_getaddrinfo.c:130: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 canonname[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_getaddrinfo.c:245: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(res->ai_canonname, canonname, canonlen + 1); data/ruli-0.36/src/ruli_host.c:121: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 txt_dname_buf[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_host.c:228: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 wanted_txt[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_host.c:382: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 cname_trg_txt[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_msg.c:82: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 txt[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_msg.c:123:3: [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(i, dname, dname_len); data/ruli-0.36/src/ruli_parse.c:379:3: [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(addr, rdata, rdlength); data/ruli-0.36/src/ruli_parse.c:392:3: [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(addr, rdata, rdlength); data/ruli-0.36/src/ruli_res.c:485:3: [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(res_qry->full_dname, res_qry->q_domain, res_qry->q_domain_len); data/ruli-0.36/src/ruli_res.c:769: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 txt[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_res.c:801: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 txt[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_search.h:42: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 search_encoded_service[RULI_LIMIT_DNAME_ENCODED]; data/ruli-0.36/src/ruli_search.h:44: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 search_encoded_domain[RULI_LIMIT_DNAME_ENCODED]; data/ruli-0.36/src/ruli_smtp.c:92: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 txt_dname_buf[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_smtp.c:182: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 wanted_txt[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_smtp.c:385: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 txt_dname_buf[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_sock.c:126: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(sa.inet6.sin6_addr.s6_addr, &in6addr_any, sizeof(in6addr_any)); data/ruli-0.36/src/ruli_srv.c:167: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 target_txt[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_srv.c:300:7: [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 target_txt[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_srv.c:443: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 txt_dname_buf[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_srv.c:499: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 buf[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_srv.c:1317:3: [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(srv_entry->target, target, target_len); data/ruli-0.36/src/ruli_srv.h:81: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 target[RULI_LIMIT_DNAME_ENCODED]; /* encoded, uncompressed */ data/ruli-0.36/src/ruli_txt.c:55:3: [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(buf, label, label_len); data/ruli-0.36/src/ruli_txt.c:213: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(dst, src, len); data/ruli-0.36/src/ruli_txt.c:303: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(buf, label, len); data/ruli-0.36/src/ruli_txt.c:419: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(dst_buf, src_label, len_plus_1); data/ruli-0.36/src/ruli_txt.c:450: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 txt[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/src/ruli_txt.c:536:3: [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_buf, src1, len1); data/ruli-0.36/src/ruli_txt.c:537:3: [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_buf + len1, src2, len2); data/ruli-0.36/tools/addrsolver.c:68: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 buf[BUFSZ]; data/ruli-0.36/tools/addrsolver.c:182: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 owner_buf[OWNER_BUFSZ]; data/ruli-0.36/tools/addrsolver.c:268:3: [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(dom_str, domain, domain_len); data/ruli-0.36/tools/addrsolver.c:358: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 dom_buf[DOM_BUFSZ]; data/ruli-0.36/tools/addrsolver.c:361: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(dom_buf, name, dom_len); data/ruli-0.36/tools/addrsolver.c:427: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 inbuf[INBUFSZ]; data/ruli-0.36/tools/addrsolver.c:538:13: [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). retry = atoi(argv[1]); data/ruli-0.36/tools/addrsolver.c:539:13: [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). timeout = atoi(argv[2]); data/ruli-0.36/tools/addrsolver2.c:68: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 buf[BUFSZ]; data/ruli-0.36/tools/addrsolver2.c:182: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 owner_buf[OWNER_BUFSZ]; data/ruli-0.36/tools/addrsolver2.c:268:3: [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(dom_str, domain, domain_len); data/ruli-0.36/tools/addrsolver2.c:387: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 dom_buf[DOM_BUFSZ]; data/ruli-0.36/tools/addrsolver2.c:390: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(dom_buf, name, dom_len); data/ruli-0.36/tools/addrsolver2.c:445: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 inbuf[INBUFSZ]; data/ruli-0.36/tools/addrsolver2.c:545:13: [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). retry = atoi(argv[1]); data/ruli-0.36/tools/addrsolver2.c:546:13: [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). timeout = atoi(argv[2]); data/ruli-0.36/tools/addrsolver3.c:68: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 buf[BUFSZ]; data/ruli-0.36/tools/addrsolver3.c:182: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 owner_buf[OWNER_BUFSZ]; data/ruli-0.36/tools/addrsolver3.c:268:3: [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(dom_str, domain, domain_len); data/ruli-0.36/tools/addrsolver3.c:393: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 dom_buf[DOM_BUFSZ]; data/ruli-0.36/tools/addrsolver3.c:396: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(dom_buf, name, dom_len); data/ruli-0.36/tools/addrsolver3.c:448: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 inbuf[INBUFSZ]; data/ruli-0.36/tools/addrsolver3.c:542:13: [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). retry = atoi(argv[1]); data/ruli-0.36/tools/addrsolver3.c:543:13: [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). timeout = atoi(argv[2]); data/ruli-0.36/tools/hostsolver.c:92:3: [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(buf, str, len); data/ruli-0.36/tools/hostsolver.c:126: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 buf[BUFSZ]; data/ruli-0.36/tools/hostsolver.c:229: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 owner_buf[OWNER_BUFSZ]; data/ruli-0.36/tools/hostsolver.c:329:3: [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(dom_str, domain, domain_len); data/ruli-0.36/tools/hostsolver.c:417: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 domain[domain_buf_size]; data/ruli-0.36/tools/hostsolver.c:465:7: [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 debug_buf[DEBUG_BUFSZ]; data/ruli-0.36/tools/hostsolver.c:469:7: [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(debug_buf, domain, domain_len); data/ruli-0.36/tools/hostsolver.c:485:7: [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 dom_buf[DOM_BUFSZ]; data/ruli-0.36/tools/hostsolver.c:488:7: [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(dom_buf, domain, dom_len); data/ruli-0.36/tools/hostsolver.c:659:13: [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). retry = atoi(argv[1]); data/ruli-0.36/tools/hostsolver.c:660:13: [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). timeout = atoi(argv[2]); data/ruli-0.36/tools/in6_addr.c:34: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 buf[40]; data/ruli-0.36/tools/ipv6.c:42: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 buf[40]; data/ruli-0.36/tools/resolve.c:168: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 dname_buf[dname_buf_len]; data/ruli-0.36/tools/resolve.c:292:13: [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). redo = atoi(argv[1]); data/ruli-0.36/tools/resolve.c:296:13: [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). retry = atoi(argv[5]); data/ruli-0.36/tools/resolve.c:297:13: [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). timeout = atoi(argv[6]); data/ruli-0.36/tools/rfc3484.c:116: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 buf[40]; data/ruli-0.36/tools/rfc3484.c:168: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 buf[40]; data/ruli-0.36/tools/rfc3484.c:188:7: [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 src[40]; data/ruli-0.36/tools/ruli-host.c:62: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 buf[BUFSZ]; data/ruli-0.36/tools/ruli-host.c:179:3: [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(dom_str, domain, domain_len); data/ruli-0.36/tools/ruli-host.c:268: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 dom_buf[DOM_BUFSZ]; data/ruli-0.36/tools/ruli-host.c:271: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(dom_buf, name, dom_len); data/ruli-0.36/tools/ruli-host.c:340: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 inbuf[INBUFSZ]; data/ruli-0.36/tools/ruli-host.c:450:13: [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). retry = atoi(argv[1]); data/ruli-0.36/tools/ruli-host.c:451:13: [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). timeout = atoi(argv[2]); data/ruli-0.36/tools/ruli-host.c:452:13: [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). cname = atoi(argv[3]); data/ruli-0.36/tools/srvsolver.c:51: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 txt_service[QBUFSZ]; data/ruli-0.36/tools/srvsolver.c:53: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 txt_domain[QBUFSZ]; data/ruli-0.36/tools/srvsolver.c:57: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 raw_service[QBUFSZ]; data/ruli-0.36/tools/srvsolver.c:59: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 raw_domain[QBUFSZ]; data/ruli-0.36/tools/srvsolver.c:69: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 msg[MSG_BUFSZ]; data/ruli-0.36/tools/srvsolver.c:73:3: [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(msg, buf, buf_len); data/ruli-0.36/tools/srvsolver.c:161: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 fullname[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/tools/srvsolver.c:334: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 domain[domain_buf_size]; data/ruli-0.36/tools/srvsolver.c:392:7: [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(qbuf->txt_service, domain, qbuf->txt_service_len); data/ruli-0.36/tools/srvsolver.c:403:7: [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(qbuf->txt_domain, i, qbuf->txt_domain_len); data/ruli-0.36/tools/srvsolver.c:591:13: [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). retry = atoi(argv[1]); data/ruli-0.36/tools/srvsolver.c:592:13: [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). timeout = atoi(argv[2]); data/ruli-0.36/tools/srvsolver2.c:58: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 txt_service[QBUFSZ]; data/ruli-0.36/tools/srvsolver2.c:60: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 txt_domain[QBUFSZ]; data/ruli-0.36/tools/srvsolver2.c:64: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 raw_service[QBUFSZ]; data/ruli-0.36/tools/srvsolver2.c:66: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 raw_domain[QBUFSZ]; data/ruli-0.36/tools/srvsolver2.c:76: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 msg[MSG_BUFSZ]; data/ruli-0.36/tools/srvsolver2.c:80:3: [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(msg, buf, buf_len); data/ruli-0.36/tools/srvsolver2.c:168: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 fullname[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/tools/srvsolver2.c:362: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(qbuf->txt_service, domain, qbuf->txt_service_len); data/ruli-0.36/tools/srvsolver2.c:373:7: [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(qbuf->txt_domain, i, qbuf->txt_domain_len); data/ruli-0.36/tools/srvsolver2.c:455: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 inbuf[INBUFSZ]; data/ruli-0.36/tools/srvsolver2.c:567:13: [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). retry = atoi(argv[1]); data/ruli-0.36/tools/srvsolver2.c:568:13: [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). timeout = atoi(argv[2]); data/ruli-0.36/tools/stdin_domains.c:38:1: [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 in_buf[IN_BUF_SIZE]; data/ruli-0.36/tools/stdin_domains.c:50:3: [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(in_buf, i, len); data/ruli-0.36/tools/stdin_domains.c:158: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(domain_buf, i, len); data/ruli-0.36/tools/stdout_srv_list.c:65:7: [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 txt_dname_buf[RULI_LIMIT_DNAME_TEXT_BUFSZ]; data/ruli-0.36/tools/syncsolver.c:46: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 name[name_len + 1]; data/ruli-0.36/tools/syncsolver.c:53:3: [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, fullname, name_len + 1); data/ruli-0.36/tools/syncsolver.c:168: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 inbuf[INBUFSZ]; data/ruli-0.36/guile/guile_ruli.c:80: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). return scm_string_to_symbol(scm_mem2string(SYMB_TIMEOUT, strlen(SYMB_TIMEOUT))); data/ruli-0.36/guile/guile_ruli.c:84:66: [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 scm_string_to_symbol(scm_mem2string(SYMB_UNAVAILABLE, strlen(SYMB_UNAVAILABLE))); data/ruli-0.36/guile/guile_ruli.c:91:58: [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). scm_string_to_symbol(scm_mem2string(SYMB_SRV_CODE, strlen(SYMB_SRV_CODE))); data/ruli-0.36/guile/guile_ruli.c:93: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). SCM s_srv_msg = scm_mem2string(srv_msg, strlen(srv_msg)); data/ruli-0.36/guile/guile_ruli.c:101: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). scm_string_to_symbol(scm_mem2string(SYMB_RCODE, strlen(SYMB_RCODE))); data/ruli-0.36/guile/guile_ruli.c:117:69: [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). symb_target = scm_string_to_symbol(scm_mem2string(SYMB_TARGET, strlen(SYMB_TARGET))); data/ruli-0.36/guile/guile_ruli.c:118:71: [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). symb_priority = scm_string_to_symbol(scm_mem2string(SYMB_PRIORITY, strlen(SYMB_PRIORITY))); data/ruli-0.36/guile/guile_ruli.c:119:69: [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). symb_weight = scm_string_to_symbol(scm_mem2string(SYMB_WEIGHT, strlen(SYMB_WEIGHT))); data/ruli-0.36/guile/guile_ruli.c:120: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). symb_port = scm_string_to_symbol(scm_mem2string(SYMB_PORT, strlen(SYMB_PORT))); data/ruli-0.36/guile/guile_ruli.c:121:72: [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). symb_addresses = scm_string_to_symbol(scm_mem2string(SYMB_ADDRESSES, strlen(SYMB_ADDRESSES))); data/ruli-0.36/perl/RULI/ppport.h:724: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/ruli-0.36/sample/getaddrinfo.c:49: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). int name_len = strlen(fullname); data/ruli-0.36/sample/getaddrinfo.c:65: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 name_len = strlen(name); data/ruli-0.36/sample/httpsearch.c:191:26: [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). qbuf->txt_domain_len = strlen(domain); data/ruli-0.36/sample/ruli-getaddrinfo.c:50: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). int name_len = strlen(fullname); data/ruli-0.36/sample/ruli-getaddrinfo.c:66: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 name_len = strlen(name); data/ruli-0.36/sample/smtpsearch.c:190:26: [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). qbuf->txt_domain_len = strlen(domain); data/ruli-0.36/sample/srvsearch.c:194: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). int domain_len = strlen(domain); data/ruli-0.36/sample/sync_srvsearch.c:46: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). int name_len = strlen(fullname); data/ruli-0.36/sample/sync_srvsearch.c:62: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 name_len = strlen(name); data/ruli-0.36/src/ruli_conf.c:126: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). tok, strlen(tok)); data/ruli-0.36/src/ruli_search.c:74: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). int txt_service_len = strlen(txt_service); data/ruli-0.36/src/ruli_search.c:75: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). int txt_domain_len = strlen(txt_domain); data/ruli-0.36/tools/addrsolver.c:200: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). if (!ruli_dname_match(domain, strlen(domain), owner_buf, owner_len)) data/ruli-0.36/tools/addrsolver.c:337: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). int name_len = strlen(name); data/ruli-0.36/tools/addrsolver2.c:200: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). if (!ruli_dname_match(domain, strlen(domain), owner_buf, owner_len)) data/ruli-0.36/tools/addrsolver2.c:343: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). int name_len = strlen(name); data/ruli-0.36/tools/addrsolver3.c:200: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). if (!ruli_dname_match(domain, strlen(domain), owner_buf, owner_len)) data/ruli-0.36/tools/addrsolver3.c:344: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). int name_len = strlen(name); data/ruli-0.36/tools/hostsolver.c:61:9: [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). len = strlen(str); data/ruli-0.36/tools/hostsolver.c:247: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). if (!ruli_dname_match(domain, strlen(domain), owner_buf, owner_len)) data/ruli-0.36/tools/resolve.c:166:39: [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 domain_len = strlen(domain); data/ruli-0.36/tools/ruli-host.c:247: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). int name_len = strlen(name); data/ruli-0.36/tools/srvsolver2.c:328: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). int domain_len = strlen(domain); data/ruli-0.36/tools/stdin_domains.c:70:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). rd = read(std_in, in_buf + in_buf_len, IN_BUF_SIZE - in_buf_len); data/ruli-0.36/tools/syncsolver.c:45: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). int name_len = strlen(fullname); data/ruli-0.36/tools/syncsolver.c:61: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). int len = strlen(name); ANALYSIS SUMMARY: Hits = 236 Lines analyzed = 22550 in approximately 0.50 seconds (45448 lines/second) Physical Source Lines of Code (SLOC) = 13341 Hits@level = [0] 499 [1] 37 [2] 166 [3] 0 [4] 32 [5] 1 Hits@level+ = [0+] 735 [1+] 236 [2+] 199 [3+] 33 [4+] 33 [5+] 1 Hits/KSLOC@level+ = [0+] 55.0933 [1+] 17.6898 [2+] 14.9164 [3+] 2.47358 [4+] 2.47358 [5+] 0.0749569 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.