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/libnfs-4.0.0/aros/aros_compat.c Examining data/libnfs-4.0.0/aros/aros_compat.h Examining data/libnfs-4.0.0/examples/ld_nfs.c Examining data/libnfs-4.0.0/examples/nfs-fh.c Examining data/libnfs-4.0.0/examples/nfs-io.c Examining data/libnfs-4.0.0/examples/nfs-ln.c Examining data/libnfs-4.0.0/examples/nfs4-cat-talloc.c Examining data/libnfs-4.0.0/examples/nfs4-cat.c Examining data/libnfs-4.0.0/examples/nfsclient-async.c Examining data/libnfs-4.0.0/examples/nfsclient-bcast.c Examining data/libnfs-4.0.0/examples/nfsclient-listservers.c Examining data/libnfs-4.0.0/examples/nfsclient-raw.c Examining data/libnfs-4.0.0/examples/nfsclient-sync.c Examining data/libnfs-4.0.0/examples/portmap-client.c Examining data/libnfs-4.0.0/examples/portmap-server.c Examining data/libnfs-4.0.0/include/libnfs-private.h Examining data/libnfs-4.0.0/include/nfsc/libnfs-raw.h Examining data/libnfs-4.0.0/include/nfsc/libnfs-zdr.h Examining data/libnfs-4.0.0/include/nfsc/libnfs.h Examining data/libnfs-4.0.0/include/slist.h Examining data/libnfs-4.0.0/include/win32/win32_compat.h Examining data/libnfs-4.0.0/lib/init.c Examining data/libnfs-4.0.0/lib/libnfs-sync.c Examining data/libnfs-4.0.0/lib/libnfs-zdr.c Examining data/libnfs-4.0.0/lib/libnfs.c Examining data/libnfs-4.0.0/lib/nfs_v3.c Examining data/libnfs-4.0.0/lib/nfs_v4.c Examining data/libnfs-4.0.0/lib/pdu.c Examining data/libnfs-4.0.0/lib/socket.c Examining data/libnfs-4.0.0/mount/libnfs-raw-mount.c Examining data/libnfs-4.0.0/mount/libnfs-raw-mount.h Examining data/libnfs-4.0.0/mount/mount.c Examining data/libnfs-4.0.0/nfs/libnfs-raw-nfs.c Examining data/libnfs-4.0.0/nfs/libnfs-raw-nfs.h Examining data/libnfs-4.0.0/nfs/nfs.c Examining data/libnfs-4.0.0/nfs/nfsacl.c Examining data/libnfs-4.0.0/nfs4/libnfs-raw-nfs4.c Examining data/libnfs-4.0.0/nfs4/libnfs-raw-nfs4.h Examining data/libnfs-4.0.0/nfs4/nfs4.c Examining data/libnfs-4.0.0/nlm/libnfs-raw-nlm.c Examining data/libnfs-4.0.0/nlm/libnfs-raw-nlm.h Examining data/libnfs-4.0.0/nlm/nlm.c Examining data/libnfs-4.0.0/nsm/libnfs-raw-nsm.c Examining data/libnfs-4.0.0/nsm/libnfs-raw-nsm.h Examining data/libnfs-4.0.0/nsm/nsm.c Examining data/libnfs-4.0.0/portmap/libnfs-raw-portmap.c Examining data/libnfs-4.0.0/portmap/libnfs-raw-portmap.h Examining data/libnfs-4.0.0/portmap/portmap.c Examining data/libnfs-4.0.0/rquota/libnfs-raw-rquota.c Examining data/libnfs-4.0.0/rquota/libnfs-raw-rquota.h Examining data/libnfs-4.0.0/rquota/rquota.c Examining data/libnfs-4.0.0/tests/ld_timeout.c Examining data/libnfs-4.0.0/tests/prog_access.c Examining data/libnfs-4.0.0/tests/prog_access2.c Examining data/libnfs-4.0.0/tests/prog_chmod.c Examining data/libnfs-4.0.0/tests/prog_chown.c Examining data/libnfs-4.0.0/tests/prog_create.c Examining data/libnfs-4.0.0/tests/prog_fchmod.c Examining data/libnfs-4.0.0/tests/prog_fchown.c Examining data/libnfs-4.0.0/tests/prog_fstat.c Examining data/libnfs-4.0.0/tests/prog_ftruncate.c Examining data/libnfs-4.0.0/tests/prog_lchmod.c Examining data/libnfs-4.0.0/tests/prog_lchown.c Examining data/libnfs-4.0.0/tests/prog_link.c Examining data/libnfs-4.0.0/tests/prog_lseek.c Examining data/libnfs-4.0.0/tests/prog_lstat.c Examining data/libnfs-4.0.0/tests/prog_mkdir.c Examining data/libnfs-4.0.0/tests/prog_mknod.c Examining data/libnfs-4.0.0/tests/prog_mount.c Examining data/libnfs-4.0.0/tests/prog_open_read.c Examining data/libnfs-4.0.0/tests/prog_open_write.c Examining data/libnfs-4.0.0/tests/prog_opendir.c Examining data/libnfs-4.0.0/tests/prog_rename.c Examining data/libnfs-4.0.0/tests/prog_rmdir.c Examining data/libnfs-4.0.0/tests/prog_stat.c Examining data/libnfs-4.0.0/tests/prog_statvfs.c Examining data/libnfs-4.0.0/tests/prog_symlink.c Examining data/libnfs-4.0.0/tests/prog_timeout.c Examining data/libnfs-4.0.0/tests/prog_truncate.c Examining data/libnfs-4.0.0/tests/prog_unlink.c Examining data/libnfs-4.0.0/tests/prog_utimes.c Examining data/libnfs-4.0.0/utils/nfs-cat.c Examining data/libnfs-4.0.0/utils/nfs-cp.c Examining data/libnfs-4.0.0/utils/nfs-ls.c Examining data/libnfs-4.0.0/win32/win32_compat.c Examining data/libnfs-4.0.0/win32/win32_errnowrapper.h FINAL RESULTS: data/libnfs-4.0.0/examples/ld_nfs.c:595:5: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. int chmod(const char *path, mode_t mode) data/libnfs-4.0.0/examples/ld_nfs.c:619:10: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. return chmod(path, mode); data/libnfs-4.0.0/examples/ld_nfs.c:647:5: [5] (race) chown: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchown( ) instead. int chown(const char *path, __uid_t uid, __gid_t gid) data/libnfs-4.0.0/examples/ld_nfs.c:671:10: [5] (race) chown: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchown( ) instead. return chown(path, uid, gid); data/libnfs-4.0.0/aros/aros_compat.c:38:5: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(host, hostlen, Inet_NtoA(sin->sin_addr.s_addr)); data/libnfs-4.0.0/examples/ld_nfs.c:48:4: [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, (fmt), ##args); \ data/libnfs-4.0.0/examples/nfs-io.c:154:4: [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(" %12" PRId64, st.nfs_size); data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:201:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(addr, "%s.%d.%d", str, port >> 8, port & 0xff); data/libnfs-4.0.0/examples/nfs4-cat.c:292:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(addr, "%s.%d.%d", str, port >> 8, port & 0xff); data/libnfs-4.0.0/examples/nfsclient-sync.c:175:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path, "%s/%s", "/", nfsdirent->name); data/libnfs-4.0.0/examples/nfsclient-sync.c:217:3: [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(" %12" PRId64, st.nfs_size); data/libnfs-4.0.0/include/libnfs-private.h:198:24: [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. __attribute__((format(printf, 2, 3))) data/libnfs-4.0.0/include/libnfs-private.h:204:24: [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. __attribute__((format(printf, 2, 3))) data/libnfs-4.0.0/include/nfsc/libnfs-raw.h:967:57: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. struct nfs_fh3 *fh, int access, data/libnfs-4.0.0/include/win32/win32_compat.h:136:9: [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. #define snprintf sprintf_s data/libnfs-4.0.0/lib/init.c:250:2: [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. vsnprintf(rpc->error_string, 1024, error_string, ap); data/libnfs-4.0.0/lib/libnfs.c:1855:2: [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. vsnprintf(str, 1024, error_string, ap); data/libnfs-4.0.0/lib/nfs_v3.c:221:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(newpath, "%s/../%s/%s", data->saved_path, path, data/libnfs-4.0.0/lib/nfs_v3.c:229:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(newpath, "%s/../%s", data->saved_path, path); data/libnfs-4.0.0/lib/nfs_v3.c:501:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(data->saved_path, "%s/%s", nfs->cwd, path); data/libnfs-4.0.0/lib/nfs_v3.c:1770:30: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (res->ACCESS3res_u.resok.access & ACCESS3_READ) { data/libnfs-4.0.0/lib/nfs_v3.c:1773:30: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (res->ACCESS3res_u.resok.access & (ACCESS3_MODIFY | ACCESS3_EXTEND | ACCESS3_DELETE)) { data/libnfs-4.0.0/lib/nfs_v3.c:1776:30: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (res->ACCESS3res_u.resok.access & (ACCESS3_LOOKUP | ACCESS3_EXECUTE)) { data/libnfs-4.0.0/lib/nfs_v3.c:1848:62: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if ((data->continue_int & R_OK) && (res->ACCESS3res_u.resok.access & ACCESS3_READ)) { data/libnfs-4.0.0/lib/nfs_v3.c:1851:62: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if ((data->continue_int & W_OK) && (res->ACCESS3res_u.resok.access & (ACCESS3_MODIFY | ACCESS3_EXTEND | ACCESS3_DELETE))) { data/libnfs-4.0.0/lib/nfs_v3.c:1854:62: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if ((data->continue_int & X_OK) && (res->ACCESS3res_u.resok.access & (ACCESS3_LOOKUP | ACCESS3_EXECUTE))) { data/libnfs-4.0.0/lib/nfs_v3.c:3235:17: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(cb_data->path, "%c%s", '\0', path); data/libnfs-4.0.0/lib/nfs_v3.c:3336:17: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(new_path, "%c%s", '\0', path); data/libnfs-4.0.0/lib/nfs_v3.c:3602:17: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(cb_data->path, "%c%s", '\0', path); data/libnfs-4.0.0/lib/nfs_v3.c:3702:17: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(new_path, "%c%s", '\0', path); data/libnfs-4.0.0/lib/nfs_v3.c:3804:17: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(new_path, "%c%s", '\0', path); data/libnfs-4.0.0/lib/nfs_v3.c:4989:30: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (res->ACCESS3res_u.resok.access != nfsmode) { data/libnfs-4.0.0/lib/nfs_v3.c:4995:55: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. res->ACCESS3res_u.resok.access&ACCESS3_READ ? 'r':'-', data/libnfs-4.0.0/lib/nfs_v3.c:4996:55: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. res->ACCESS3res_u.resok.access&ACCESS3_MODIFY ?'w':'-', data/libnfs-4.0.0/lib/nfs_v3.c:4997:55: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. res->ACCESS3res_u.resok.access&ACCESS3_EXECUTE ?'x':'-'); data/libnfs-4.0.0/lib/nfs_v4.c:211:25: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(new_path, "%s/%s", nfs->cwd, path); data/libnfs-4.0.0/lib/nfs_v4.c:1183:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(tmp, "%s/%s/%s", path, rlres->READLINK4res_u.resok4.link.utf8string_val, end); data/libnfs-4.0.0/lib/nfs_v4.c:2067:42: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (aresok->supported != aresok->access) { data/libnfs-4.0.0/lib/nfs_v4.c:2069:52: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. "got %08x.", aresok->access, aresok->supported); data/libnfs-4.0.0/lib/nfs_v4.c:2283:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path, "%s/%s", data->path, rlresok->link.utf8string_val); data/libnfs-4.0.0/lib/nfs_v4.c:4893:29: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (aresok->access & ACCESS4_READ) { data/libnfs-4.0.0/lib/nfs_v4.c:4896:29: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (aresok->access & ACCESS4_MODIFY) { data/libnfs-4.0.0/lib/nfs_v4.c:4899:29: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (aresok->access & ACCESS4_EXECUTE) { data/libnfs-4.0.0/lib/nfs_v4.c:4907:42: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (aresok->supported != aresok->access) { data/libnfs-4.0.0/nfs/libnfs-raw-nfs.c:433:32: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (!zdr_u_int (zdrs, &objp->access)) data/libnfs-4.0.0/nfs/libnfs-raw-nfs.c:443:32: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (!zdr_u_int (zdrs, &objp->access)) data/libnfs-4.0.0/nfs/libnfs-raw-nfs.h:293:8: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. u_int access; data/libnfs-4.0.0/nfs/libnfs-raw-nfs.h:299:8: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. u_int access; data/libnfs-4.0.0/nfs/nfs.c:262:86: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. int rpc_nfs_access_async(struct rpc_context *rpc, rpc_cb cb, struct nfs_fh3 *fh, int access, void *private_data) data/libnfs-4.0.0/nfs/nfs.c:269:16: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. args.access = access; data/libnfs-4.0.0/nfs4/libnfs-raw-nfs4.c:1091:35: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (!zdr_uint32_t (zdrs, &objp->access)) data/libnfs-4.0.0/nfs4/libnfs-raw-nfs4.c:1103:35: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (!zdr_uint32_t (zdrs, &objp->access)) data/libnfs-4.0.0/nfs4/libnfs-raw-nfs4.h:554:11: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. uint32_t access; data/libnfs-4.0.0/nfs4/libnfs-raw-nfs4.h:560:11: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. uint32_t access; data/libnfs-4.0.0/nlm/libnfs-raw-nlm.c:115:32: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (!zdr_u_int (zdrs, &objp->access)) data/libnfs-4.0.0/nlm/libnfs-raw-nlm.h:103:8: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. u_int access; data/libnfs-4.0.0/tests/ld_timeout.c:43: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(stderr, (fmt), ##args); \ data/libnfs-4.0.0/utils/nfs-ls.c:150:3: [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(" %12" PRId64, nfsdirent->size); data/libnfs-4.0.0/examples/ld_nfs.c:681:6: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (getenv("LD_NFS_DEBUG") != NULL) { data/libnfs-4.0.0/examples/ld_nfs.c:682:16: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. debug = atoi(getenv("LD_NFS_DEBUG")); data/libnfs-4.0.0/examples/ld_nfs.c:685:6: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (getenv("LD_NFS_UID") != NULL) { data/libnfs-4.0.0/examples/ld_nfs.c:686:17: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. nfsuid = atoi(getenv("LD_NFS_UID")); data/libnfs-4.0.0/examples/ld_nfs.c:689:6: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (getenv("LD_NFS_GID") != NULL) { data/libnfs-4.0.0/examples/ld_nfs.c:690:17: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. nfsgid = atoi(getenv("LD_NFS_GID")); data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:904:9: [3] (random) srandom: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srandom(time(NULL) ^ getpid()); data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:934:39: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. client->verifier[i] = random() & 0xff; data/libnfs-4.0.0/examples/nfs4-cat.c:879:9: [3] (random) srandom: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srandom(time(NULL)); data/libnfs-4.0.0/examples/nfs4-cat.c:881:38: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. client.verifier[i] = random() & 0xff; data/libnfs-4.0.0/tests/ld_timeout.c:74:6: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (getenv("TIMEOUT_START") != NULL) { data/libnfs-4.0.0/tests/ld_timeout.c:75:24: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. timeout_start = atoi(getenv("TIMEOUT_START")); data/libnfs-4.0.0/aros/aros_compat.c:59:25: [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). sin->sin_port=htons(atoi(service)); data/libnfs-4.0.0/aros/aros_compat.c:82: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, &sin.sin_addr.s_addr, sizeof(sin.sin_addr.s_addr)); data/libnfs-4.0.0/examples/ld_nfs.c:68:5: [2] (misc) open: 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). int open(const char *path, int flags, mode_t mode) data/libnfs-4.0.0/examples/ld_nfs.c:154:9: [2] (misc) open: 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). return open(path, flags | O_LARGEFILE, mode); data/libnfs-4.0.0/examples/ld_nfs.c:350:8: [2] (misc) open: 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). fd = open(path, 0, 0); data/libnfs-4.0.0/examples/ld_nfs.c:371:8: [2] (misc) open: 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). fd = open(path, 0, 0); data/libnfs-4.0.0/examples/ld_nfs.c:392:8: [2] (misc) open: 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). fd = open(path, 0, 0); data/libnfs-4.0.0/examples/ld_nfs.c:413:8: [2] (misc) open: 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). fd = open(path, 0, 0); data/libnfs-4.0.0/examples/ld_nfs.c:560:8: [2] (misc) open: 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). fd = open(path, 0, 0); data/libnfs-4.0.0/examples/ld_nfs.c:601:8: [2] (misc) open: 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). fd = open(path, 0, 0); data/libnfs-4.0.0/examples/ld_nfs.c:653:8: [2] (misc) open: 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). fd = open(path, 0, 0); data/libnfs-4.0.0/examples/ld_nfs.c:682:11: [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). debug = atoi(getenv("LD_NFS_DEBUG")); data/libnfs-4.0.0/examples/ld_nfs.c:686: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). nfsuid = atoi(getenv("LD_NFS_UID")); data/libnfs-4.0.0/examples/ld_nfs.c:690: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). nfsgid = atoi(getenv("LD_NFS_GID")); data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:178:9: [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 str[240], addr[256]; data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:207: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(sc4args->client.verifier, client->verifier, sizeof(verifier4)); data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:238: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(scc4args->setclientid_confirm, client->setclientid_confirm, data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:364: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(oc4args->open_stateid.other, data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:399: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(r4args->stateid.other, client->stateid.other, 12); data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:434: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(c4args->open_stateid.other, client->stateid.other, 12); data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:581: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(client->fh.nfs_fh4_val, data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:588: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(client->stateid.other, data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:673: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(client->setclientid_confirm, data/libnfs-4.0.0/examples/nfs4-cat.c:247: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(op[0].nfs_argop4_u.opsetclientid_confirm.setclientid_confirm, client->setclientid_confirm, NFS4_VERIFIER_SIZE); data/libnfs-4.0.0/examples/nfs4-cat.c:270:9: [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 str[240], addr[256]; data/libnfs-4.0.0/examples/nfs4-cat.c:296: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(op[0].nfs_argop4_u.opsetclientid.client.verifier, client->verifier, sizeof(verifier4)); data/libnfs-4.0.0/examples/nfs4-cat.c:416: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(op[1].nfs_argop4_u.opopen_confirm.open_stateid.other, client->stateid.other, 12); data/libnfs-4.0.0/examples/nfs4-cat.c:444: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(op[1].nfs_argop4_u.opread.stateid.other, client->stateid.other, 12); data/libnfs-4.0.0/examples/nfs4-cat.c:472: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(op[1].nfs_argop4_u.opclose.open_stateid.other, client->stateid.other, 12); data/libnfs-4.0.0/examples/nfs4-cat.c:599: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(client->fh.nfs_fh4_val, res->resarray.resarray_val[idx+1].nfs_resop4_u.opgetfh.GETFH4res_u.resok4.object.nfs_fh4_val, client->fh.nfs_fh4_len); data/libnfs-4.0.0/examples/nfs4-cat.c:603: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(client->stateid.other, res->resarray.resarray_val[idx].nfs_resop4_u.opopen.OPEN4res_u.resok4.stateid.other, 12); data/libnfs-4.0.0/examples/nfs4-cat.c:677: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(client->setclientid_confirm, res->resarray.resarray_val[0].nfs_resop4_u.opsetclientid.SETCLIENTID4res_u.resok4.setclientid_confirm, NFS4_VERIFIER_SIZE); data/libnfs-4.0.0/examples/nfsclient-bcast.c:89: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 hostdd[16]; data/libnfs-4.0.0/examples/nfsclient-bcast.c:183: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 bcdd[16]; data/libnfs-4.0.0/examples/nfsclient-raw.c:208: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(client->rootfh.data.data_val, mnt->mountres3_u.mountinfo.fhandle.fhandle3_val, client->rootfh.data.data_len); data/libnfs-4.0.0/examples/nfsclient-sync.c:67: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 buf[3*1024*1024+337]; data/libnfs-4.0.0/examples/nfsclient-sync.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 path[1024]; data/libnfs-4.0.0/examples/portmap-client.c:236: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 host[256], port[6]; data/libnfs-4.0.0/examples/portmap-client.c:414:15: [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). set2prog = atoi(argv[++i]); data/libnfs-4.0.0/examples/portmap-client.c:415:15: [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). set2vers = atoi(argv[++i]); data/libnfs-4.0.0/examples/portmap-client.c:416:15: [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). set2prot = atoi(argv[++i]); data/libnfs-4.0.0/examples/portmap-client.c:417:15: [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). set2port = atoi(argv[++i]); data/libnfs-4.0.0/examples/portmap-client.c:421:17: [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). unset2prog = atoi(argv[++i]); data/libnfs-4.0.0/examples/portmap-client.c:422:17: [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). unset2vers = atoi(argv[++i]); data/libnfs-4.0.0/examples/portmap-client.c:423:17: [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). unset2prot = atoi(argv[++i]); data/libnfs-4.0.0/examples/portmap-client.c:424:17: [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). unset2port = atoi(argv[++i]); data/libnfs-4.0.0/examples/portmap-client.c:438:19: [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). getaddr3prog = atoi(argv[++i]); data/libnfs-4.0.0/examples/portmap-client.c:439:19: [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). getaddr3vers = atoi(argv[++i]); data/libnfs-4.0.0/examples/portmap-client.c:446:15: [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). set3prog = atoi(argv[++i]); data/libnfs-4.0.0/examples/portmap-client.c:447:15: [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). set3vers = atoi(argv[++i]); data/libnfs-4.0.0/include/libnfs-private.h:70: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 __ss_pad1[_SS_PAD1SIZE]; data/libnfs-4.0.0/include/libnfs-private.h:72: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 __ss_pad2[_SS_PAD2SIZE]; data/libnfs-4.0.0/include/libnfs-private.h:128: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 rm_buf[4]; data/libnfs-4.0.0/include/libnfs-private.h:153: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 ifname[IFNAMSIZ]; data/libnfs-4.0.0/include/libnfs-private.h:360:8: [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[NFS_BLKSIZE]; data/libnfs-4.0.0/include/libnfs-private.h:373:9: [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 other[12]; data/libnfs-4.0.0/include/win32/win32_compat.h:138:9: [2] (misc) open: 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). #define open(x, y, z) _open(x, y, z) data/libnfs-4.0.0/lib/init.c:352: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(fragment->data, data, fragment->size); data/libnfs-4.0.0/lib/libnfs-sync.c:299: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(cb_data->return_data, data, sizeof(struct __stat64)); data/libnfs-4.0.0/lib/libnfs-sync.c:301: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(cb_data->return_data, data, sizeof(struct stat)); data/libnfs-4.0.0/lib/libnfs-sync.c:340: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(cb_data->return_data, data, sizeof(struct nfs_stat_64)); data/libnfs-4.0.0/lib/libnfs-sync.c:499: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(buffer, (char *)data, status); data/libnfs-4.0.0/lib/libnfs-sync.c:1080: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(cb_data->return_data, data, sizeof(uint64_t)); data/libnfs-4.0.0/lib/libnfs-sync.c:1198: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(cb_data->return_data, data, sizeof(struct statvfs)); data/libnfs-4.0.0/lib/libnfs-sync.c:1238: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(cb_data->return_data, data, sizeof(struct nfs_statvfs_64)); data/libnfs-4.0.0/lib/libnfs-sync.c:1284: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(cb_data->return_data, data, strlen(data)+1); data/libnfs-4.0.0/lib/libnfs-sync.c:1920: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 hostdd[16]; data/libnfs-4.0.0/lib/libnfs-sync.c:1988: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 bcdd[16]; data/libnfs-4.0.0/lib/libnfs-sync.c:2124: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 bcdd[16]; data/libnfs-4.0.0/lib/libnfs-sync.c:2126: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(&ifr, ptr, sizeof(struct ifreq)); data/libnfs-4.0.0/lib/libnfs-zdr.c:56:8: [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[1]; data/libnfs-4.0.0/lib/libnfs-zdr.c:177: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(&zdrs->buf[zdrs->pos], *bufp, *size); data/libnfs-4.0.0/lib/libnfs-zdr.c:183:25: [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(&zdrs->buf[zdrs->pos], &zero, pad); data/libnfs-4.0.0/lib/libnfs-zdr.c:189:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(*bufp, &zdrs->buf[zdrs->pos], *size); data/libnfs-4.0.0/lib/libnfs-zdr.c:251: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(&zdrs->buf[zdrs->pos], objp, size); data/libnfs-4.0.0/lib/libnfs-zdr.c:259: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(objp, &zdrs->buf[zdrs->pos], size); data/libnfs-4.0.0/lib/libnfs-zdr.c:571: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(&buf[2], host, strlen(host)); data/libnfs-4.0.0/lib/libnfs.c:177:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(e->buf + offset % NFS_BLKSIZE, buf, n); data/libnfs-4.0.0/lib/libnfs.c:267:48: [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). rpc_set_tcp_syncnt(nfs_get_rpc_context(nfs), atoi(val)); data/libnfs-4.0.0/lib/libnfs.c:269:41: [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). rpc_set_uid(nfs_get_rpc_context(nfs), atoi(val)); data/libnfs-4.0.0/lib/libnfs.c:271:41: [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). rpc_set_gid(nfs_get_rpc_context(nfs), atoi(val)); data/libnfs-4.0.0/lib/libnfs.c:273:47: [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). rpc_set_readahead(nfs_get_rpc_context(nfs), atoi(val)); data/libnfs-4.0.0/lib/libnfs.c:275:47: [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). rpc_set_pagecache(nfs_get_rpc_context(nfs), atoi(val)); data/libnfs-4.0.0/lib/libnfs.c:277:43: [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). rpc_set_debug(nfs_get_rpc_context(nfs), atoi(val)); data/libnfs-4.0.0/lib/libnfs.c:279:31: [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). nfs->auto_traverse_mounts = atoi(val); data/libnfs-4.0.0/lib/libnfs.c:281:25: [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). nfs_set_dircache(nfs, atoi(val)); data/libnfs-4.0.0/lib/libnfs.c:283:30: [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). nfs_set_autoreconnect(nfs, atoi(val)); data/libnfs-4.0.0/lib/libnfs.c:289:28: [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 (nfs_set_version(nfs, atoi(val)) < 0) { data/libnfs-4.0.0/lib/libnfs.c:291:11: [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). atoi(val)); data/libnfs-4.0.0/lib/libnfs.c:295:19: [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). nfs->nfsport = atoi(val); data/libnfs-4.0.0/lib/libnfs.c:297:21: [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). nfs->mountport = atoi(val); data/libnfs-4.0.0/lib/libnfs.c:458:9: [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 client_name[MAX_CLIENT_NAME]; data/libnfs-4.0.0/lib/libnfs.c:505: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(nfs->verifier, verifier, NFS4_VERIFIER_SIZE); data/libnfs-4.0.0/lib/libnfs.c:644:14: [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). rpc_port = atoi(ptr + 1); data/libnfs-4.0.0/lib/libnfs.c:650:21: [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). rpc_port += 256 * atoi(ptr + 1); data/libnfs-4.0.0/lib/nfs_v3.c:394: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(data->fh.val, fh->val, data->fh.len); data/libnfs-4.0.0/lib/nfs_v3.c:825: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(mnt->fh.val, data/libnfs-4.0.0/lib/nfs_v3.c:1039: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(nfs->rootfh.val, data/libnfs-4.0.0/lib/nfs_v3.c:2004: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(new_times, times, sizeof(struct timeval)*2); data/libnfs-4.0.0/lib/nfs_v3.c:2175: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(data->fh.val, nfsfh->fh.val, data->fh.len); data/libnfs-4.0.0/lib/nfs_v3.c:2277: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(data->fh.val, nfsfh->fh.val, data->fh.len); data/libnfs-4.0.0/lib/nfs_v3.c:2790: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(&args.cookieverf, res->READDIR3res_u.resok.cookieverf, data/libnfs-4.0.0/lib/nfs_v3.c:2984: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(&args.cookieverf, data/libnfs-4.0.0/lib/nfs_v3.c:3052: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(nfsdir->fh.val, data->fh.val, data->fh.len); data/libnfs-4.0.0/lib/nfs_v3.c:3458: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(nfsfh->fh.val, data/libnfs-4.0.0/lib/nfs_v3.c:4641:6: [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(&data->buffer[mdata->offset - data->offset], res->READ3res_u.resok.data.data_val, count); data/libnfs-4.0.0/lib/nfs_v3.c:4775:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(data->buffer + offset - data->offset, cdata, data/libnfs-4.0.0/lib/nfs_v4.c:642: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(clargs->open_stateid.other, fh->stateid.other, 12); data/libnfs-4.0.0/lib/nfs_v4.c:668: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(scidargs->client.verifier, verifier, sizeof(verifier4)); data/libnfs-4.0.0/lib/nfs_v4.c:697: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(&ocargs->open_stateid.other, fh->stateid.other, 12); data/libnfs-4.0.0/lib/nfs_v4.c:714: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(saargs->stateid.other, fh->stateid.other, 12); data/libnfs-4.0.0/lib/nfs_v4.c:736: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(saargs->stateid.other, fh->stateid.other, 12); data/libnfs-4.0.0/lib/nfs_v4.c:759: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(saargs->stateid.other, fh->stateid.other, 12); data/libnfs-4.0.0/lib/nfs_v4.c:782: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(saargs->stateid.other, fh->stateid.other, 12); data/libnfs-4.0.0/lib/nfs_v4.c:837: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(rargs->stateid.other, fh->stateid.other, 12); data/libnfs-4.0.0/lib/nfs_v4.c:853: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(wargs->stateid.other, fh->stateid.other, 12); data/libnfs-4.0.0/lib/nfs_v4.c:928:17: [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(largs->locker.locker4_u.lock_owner.lock_stateid.other, data/libnfs-4.0.0/lib/nfs_v4.c:938:17: [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(largs->locker.locker4_u.open_owner.open_stateid.other, data/libnfs-4.0.0/lib/nfs_v4.c:968: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(luargs->lock_stateid.other, fh->lock_stateid.other, 12); data/libnfs-4.0.0/lib/nfs_v4.c:1016: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(scidcargs->setclientid_confirm, verifier, NFS4_VERIFIER_SIZE); data/libnfs-4.0.0/lib/nfs_v4.c:1430: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(&mode, data->filler.blob3.val, sizeof(uint32_t)); data/libnfs-4.0.0/lib/nfs_v4.c:1464: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(nfs->rootfh.val, data/libnfs-4.0.0/lib/nfs_v4.c:1527: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(nfs->setclientid_confirm, data/libnfs-4.0.0/lib/nfs_v4.c:2028: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(fh->stateid.other, ocresok->open_stateid.other, 12); data/libnfs-4.0.0/lib/nfs_v4.c:2103: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(fh->fh.val, gresok->object.nfs_fh4_val, fh->fh.len); data/libnfs-4.0.0/lib/nfs_v4.c:2119: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(fh->stateid.other, oresok->stateid.other, 12); data/libnfs-4.0.0/lib/nfs_v4.c:2225:25: [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(ch->createhow4_u.createverf, verifier, data/libnfs-4.0.0/lib/nfs_v4.c:2480:17: [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(data->filler.blob3.val, &m, sizeof(uint32_t)); data/libnfs-4.0.0/lib/nfs_v4.c:3066: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(fh->fh.val, gfhresok->object.nfs_fh4_val, fh->fh.len); data/libnfs-4.0.0/lib/nfs_v4.c:3199: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(fh->fh.val, gfhresok->object.nfs_fh4_val, fh->fh.len); data/libnfs-4.0.0/lib/nfs_v4.c:3412: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(&cookie, data->filler.blob2.val, sizeof(uint64_t)); data/libnfs-4.0.0/lib/nfs_v4.c:3445:17: [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(data->filler.blob2.val, &e->cookie, sizeof(uint64_t)); data/libnfs-4.0.0/lib/nfs_v4.c:3582: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(fh->fh.val, gresok->object.nfs_fh4_val, fh->fh.len); data/libnfs-4.0.0/lib/nfs_v4.c:3598: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(&cookie, data->filler.blob2.val, sizeof(uint64_t)); data/libnfs-4.0.0/lib/nfs_v4.c:3739: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(data->filler.blob3.val, &length, sizeof(uint64_t)); data/libnfs-4.0.0/lib/nfs_v4.c:3835: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(data->filler.blob3.val, &length, sizeof(uint64_t)); data/libnfs-4.0.0/lib/nfs_v4.c:3871: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(&offset, data->filler.blob1.val, sizeof(int64_t)); data/libnfs-4.0.0/lib/nfs_v4.c:3957: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(data->filler.blob1.val, &offset, sizeof(uint64_t)); data/libnfs-4.0.0/lib/nfs_v4.c:4006:17: [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(fh->lock_stateid.other, lresok->lock_stateid.other, 12); data/libnfs-4.0.0/lib/nfs_v4.c:4014:17: [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(fh->lock_stateid.other, data/libnfs-4.0.0/lib/nfs_v4.c:4125:25: [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(fh->lock_stateid.other, data/libnfs-4.0.0/lib/nfs_v4.c:4328: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4332: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4339: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4348: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4355: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4362: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(&u32, buf, 4); data/libnfs-4.0.0/lib/nfs_v4.c:4371: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4378: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4385: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4409: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4413: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4420: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4427: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4434: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4441: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(&u32, buf, 4); data/libnfs-4.0.0/lib/nfs_v4.c:4448: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4455: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4462: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(&u64, buf, 8); data/libnfs-4.0.0/lib/nfs_v4.c:4646: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(data->filler.blob3.val, &m, sizeof(uint32_t)); data/libnfs-4.0.0/lib/nfs_v4.c:4685: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(data->filler.blob3.val, &m, sizeof(uint32_t)); data/libnfs-4.0.0/lib/nfs_v4.c:4734: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(&str[i], &len, sizeof(uint32_t)); data/libnfs-4.0.0/lib/nfs_v4.c:4747: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(&str[i], &len, sizeof(uint32_t)); data/libnfs-4.0.0/lib/nfs_v4.c:4952: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(data->filler.blob3.val, &m, sizeof(uint32_t)); data/libnfs-4.0.0/lib/nfs_v4.c:5045: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(buf, &u32, sizeof(uint32_t)); data/libnfs-4.0.0/lib/nfs_v4.c:5047: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(buf + 4, &u64, sizeof(uint64_t)); data/libnfs-4.0.0/lib/nfs_v4.c:5049: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(buf + 12, &u32, sizeof(uint32_t)); data/libnfs-4.0.0/lib/nfs_v4.c:5053: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(buf, &u32, sizeof(uint32_t)); data/libnfs-4.0.0/lib/nfs_v4.c:5055: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(buf + 4, &u64, sizeof(uint64_t)); data/libnfs-4.0.0/lib/nfs_v4.c:5057: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(buf + 12, &u32, sizeof(uint32_t)); data/libnfs-4.0.0/lib/pdu.c:518:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ptr, fragment->data, fragment->size); data/libnfs-4.0.0/lib/pdu.c:521: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(ptr, buf + 4, size - 4); data/libnfs-4.0.0/lib/socket.c:329: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(rpc->inbuf, &rpc->rm_buf, 4); data/libnfs-4.0.0/lib/socket.c:887: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 service[6]; data/libnfs-4.0.0/lib/socket.c:896:2: [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(service, "%d", port); data/libnfs-4.0.0/lib/socket.c:938: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 service[6]; data/libnfs-4.0.0/lib/socket.c:948:2: [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(service, "%d", port); data/libnfs-4.0.0/lib/socket.c:955: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(&rpc->udp_dest, ai->ai_addr, ai->ai_addrlen); data/libnfs-4.0.0/mount/libnfs-raw-mount.h:130:9: [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. typedef char fhandle1[FHSIZE]; data/libnfs-4.0.0/nfs/libnfs-raw-nfs.h:53:9: [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. typedef char cookieverf3[NFS3_COOKIEVERFSIZE]; data/libnfs-4.0.0/nfs/libnfs-raw-nfs.h:208:9: [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. typedef char writeverf3[NFS3_WRITEVERFSIZE]; data/libnfs-4.0.0/nfs/libnfs-raw-nfs.h:407:9: [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. typedef char createverf3[NFS3_CREATEVERFSIZE]; data/libnfs-4.0.0/nfs/libnfs-raw-nfs.h:942:9: [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. typedef char fhandle2[FHSIZE2]; data/libnfs-4.0.0/nfs/libnfs-raw-nfs.h:995:9: [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. typedef char nfscookie2[NFSCOOKIESIZE2]; data/libnfs-4.0.0/nfs/nfs.c:644: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(&args.cookieverf, cookieverf, sizeof(cookieverf3)); data/libnfs-4.0.0/nfs/nfs.c:682: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(&args.cookieverf, cookieverf, sizeof(cookieverf3)); data/libnfs-4.0.0/nfs4/libnfs-raw-nfs4.h:182:9: [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. typedef char verifier4[NFS4_VERIFIER_SIZE]; data/libnfs-4.0.0/nfs4/libnfs-raw-nfs4.h:508: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 other[12]; data/libnfs-4.0.0/nsm/libnfs-raw-nsm.h:86: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 priv[16]; data/libnfs-4.0.0/tests/ld_timeout.c:75:19: [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_start = atoi(getenv("TIMEOUT_START")); data/libnfs-4.0.0/tests/prog_open_read.c:48:9: [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[1024]; data/libnfs-4.0.0/tests/prog_symlink.c:45:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[1024]; data/libnfs-4.0.0/utils/nfs-cat.c:146:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char buf[BUFSIZE]; data/libnfs-4.0.0/utils/nfs-cp.c:157:22: [2] (misc) open: 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_context->fd = open(url, flags, 0660); data/libnfs-4.0.0/utils/nfs-cp.c:214:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char buf[BUFSIZE]; data/libnfs-4.0.0/utils/nfs-ls.c:108: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 path[1024]; data/libnfs-4.0.0/win32/win32_compat.c:57:3: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). MultiByteToWideChar(CP_ACP, 0, src, -1, srcNonConst, strLen); data/libnfs-4.0.0/win32/win32_compat.c:76: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, &sa.sin_addr, sizeof(struct in_addr)); data/libnfs-4.0.0/examples/ld_nfs.c:185:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t read(int fd, void *buf, size_t count) data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:208: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). sc4args->client.id.id_len = strlen(client->id); data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:306:50: [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). l4args->objname.utf8string_len = strlen(path); data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:319: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). o4args->owner.owner.owner_len = strlen(client->owner); data/libnfs-4.0.0/examples/nfs4-cat-talloc.c:323: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). o4args->claim.open_claim4_u.file.utf8string_len = strlen(path); data/libnfs-4.0.0/examples/nfs4-cat.c:297:61: [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). op[0].nfs_argop4_u.opsetclientid.client.id.id_len = strlen(client->id); data/libnfs-4.0.0/examples/nfs4-cat.c:367: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). op[idx].nfs_argop4_u.oplookup.objname.utf8string_len = strlen(path); data/libnfs-4.0.0/examples/nfs4-cat.c:379:61: [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). op[idx].nfs_argop4_u.opopen.owner.owner.owner_len = strlen(client->owner); data/libnfs-4.0.0/examples/nfs4-cat.c:383: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). op[idx].nfs_argop4_u.opopen.claim.open_claim4_u.file.utf8string_len = strlen(path); data/libnfs-4.0.0/examples/portmap-server.c:166:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). for (str = item->addr + strlen(item->addr) - 1; str >= item->addr; str--) { data/libnfs-4.0.0/include/win32/win32_compat.h:142:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define read(x, y, z) _read(x, y, z) data/libnfs-4.0.0/lib/init.c:188:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(rpc->ifname, ifname, sizeof(rpc->ifname) - 1); data/libnfs-4.0.0/lib/libnfs-sync.c:1278:6: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(data) > (size_t)cb_data->return_int) { data/libnfs-4.0.0/lib/libnfs-sync.c:1284: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). memcpy(cb_data->return_data, data, strlen(data)+1); data/libnfs-4.0.0/lib/libnfs-zdr.c:273: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). size = strlen(*strp); data/libnfs-4.0.0/lib/libnfs-zdr.c:559: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). size = 4 + 4 + ((strlen(host) + 3) & ~3) + 4 + 4 + 4 + len * 4; data/libnfs-4.0.0/lib/libnfs-zdr.c:570: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). buf[idx++] = htonl(strlen(host)); data/libnfs-4.0.0/lib/libnfs-zdr.c:571: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). memcpy(&buf[2], host, strlen(host)); data/libnfs-4.0.0/lib/libnfs-zdr.c:573: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). idx += (strlen(host) + 3) >> 2; data/libnfs-4.0.0/lib/libnfs.c:386: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). if (urls->file && !strlen(urls->file)) { data/libnfs-4.0.0/lib/libnfs.c:411: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). if (urls->server && strlen(urls->server) <= 1) { data/libnfs-4.0.0/lib/libnfs.c:946:8: [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(path); data/libnfs-4.0.0/lib/nfs_v3.c:188: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). char *ptr = path + strlen(nfs->export); data/libnfs-4.0.0/lib/nfs_v3.c:216: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). newpath = malloc(strlen(data->saved_path) + data/libnfs-4.0.0/lib/nfs_v3.c:217:42: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(path) + strlen(data->path) + 6); data/libnfs-4.0.0/lib/nfs_v3.c:217: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). strlen(path) + strlen(data->path) + 6); data/libnfs-4.0.0/lib/nfs_v3.c:224: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). newpath = malloc(strlen(data->saved_path) + data/libnfs-4.0.0/lib/nfs_v3.c:225:42: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(path) + 5); data/libnfs-4.0.0/lib/nfs_v3.c:494:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). data->saved_path = malloc(strlen(path) + strlen(nfs->cwd) + 2); data/libnfs-4.0.0/lib/nfs_v3.c:494: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). data->saved_path = malloc(strlen(path) + strlen(nfs->cwd) + 2); data/libnfs-4.0.0/lib/nfs_v3.c:528:8: [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(mnt->path) < max_match_len) data/libnfs-4.0.0/lib/nfs_v3.c:531: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). strlen(mnt->path))) data/libnfs-4.0.0/lib/nfs_v3.c:533:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (data->saved_path[strlen(mnt->path)] != '\0' data/libnfs-4.0.0/lib/nfs_v3.c:534: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). && data->saved_path[strlen(mnt->path)] != '/') data/libnfs-4.0.0/lib/nfs_v3.c:538:11: [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(mnt->path)); data/libnfs-4.0.0/lib/nfs_v3.c:542:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). max_match_len = strlen(mnt->path); data/libnfs-4.0.0/lib/nfs_v3.c:903:8: [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(nfs->export); data/libnfs-4.0.0/lib/nfs_v3.c:2915:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int splen = strlen(data->saved_path); data/libnfs-4.0.0/lib/nfs_v3.c:3121:13: [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). str = &str[strlen(str) + 1]; data/libnfs-4.0.0/lib/nfs_v3.c:3156:13: [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). str = &str[strlen(str) + 1]; data/libnfs-4.0.0/lib/nfs_v3.c:3229: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). cb_data->path = malloc(strlen(path) + 2); data/libnfs-4.0.0/lib/nfs_v3.c:3264:13: [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). str = &str[strlen(str) + 1]; data/libnfs-4.0.0/lib/nfs_v3.c:3296:13: [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). str = &str[strlen(str) + 1]; data/libnfs-4.0.0/lib/nfs_v3.c:3330:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). new_path = malloc(strlen(path) + 2); data/libnfs-4.0.0/lib/nfs_v3.c:3417:13: [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). str = &str[strlen(str) + 1]; data/libnfs-4.0.0/lib/nfs_v3.c:3510:13: [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). str = &str[strlen(str) + 1]; data/libnfs-4.0.0/lib/nfs_v3.c:3549:13: [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). str = &str[strlen(str) + 1]; data/libnfs-4.0.0/lib/nfs_v3.c:3596: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). cb_data->path = malloc(strlen(path) + 2); data/libnfs-4.0.0/lib/nfs_v3.c:3630:13: [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). str = &str[strlen(str) + 1]; data/libnfs-4.0.0/lib/nfs_v3.c:3662:13: [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). str = &str[strlen(str) + 1]; data/libnfs-4.0.0/lib/nfs_v3.c:3696:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). new_path = malloc(strlen(path) + 2); data/libnfs-4.0.0/lib/nfs_v3.c:3727:13: [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). str = &str[strlen(str) + 1]; data/libnfs-4.0.0/lib/nfs_v3.c:3760:13: [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). str = &str[strlen(str) + 1]; data/libnfs-4.0.0/lib/nfs_v3.c:3798:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). new_path = malloc(strlen(path) + 2); data/libnfs-4.0.0/lib/nfs_v4.c:209:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). new_path = malloc(strlen(path) + strlen(nfs->cwd) + 2); data/libnfs-4.0.0/lib/nfs_v4.c:209:50: [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). new_path = malloc(strlen(path) + strlen(nfs->cwd) + 2); data/libnfs-4.0.0/lib/nfs_v4.c:582: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). cargs->objname.utf8string_len = strlen(name); data/libnfs-4.0.0/lib/nfs_v4.c:594:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(linkdata); data/libnfs-4.0.0/lib/nfs_v4.c:669: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). scidargs->client.id.id_len = strlen(client_name); data/libnfs-4.0.0/lib/nfs_v4.c:820: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). rargs->oldname.utf8string_len = strlen(oldname); data/libnfs-4.0.0/lib/nfs_v4.c:822: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). rargs->newname.utf8string_len = strlen(newname); data/libnfs-4.0.0/lib/nfs_v4.c:891: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). largs->newname.utf8string_len = strlen(newname); data/libnfs-4.0.0/lib/nfs_v4.c:943:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(nfs->client_name); data/libnfs-4.0.0/lib/nfs_v4.c:988: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). ltargs->owner.owner.owner_len = strlen(nfs->client_name); data/libnfs-4.0.0/lib/nfs_v4.c:1001: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). largs->objname.utf8string_len = strlen(path); data/libnfs-4.0.0/lib/nfs_v4.c:1045: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). rmargs->target.utf8string_len = strlen(name); data/libnfs-4.0.0/lib/nfs_v4.c:1173: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). tmp = malloc(strlen(data->path) + 3 + strlen(rlres->READLINK4res_u.resok4.link.utf8string_val)); data/libnfs-4.0.0/lib/nfs_v4.c:1173:47: [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). tmp = malloc(strlen(data->path) + 3 + strlen(rlres->READLINK4res_u.resok4.link.utf8string_val)); data/libnfs-4.0.0/lib/nfs_v4.c:2211: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). oargs->owner.owner.owner_len = strlen(nfs->client_name); data/libnfs-4.0.0/lib/nfs_v4.c:2240:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(data->filler.data); data/libnfs-4.0.0/lib/nfs_v4.c:2273: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). path = malloc(2 + strlen(data->path) + data/libnfs-4.0.0/lib/nfs_v4.c:2274: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). strlen(rlresok->link.utf8string_val)); data/libnfs-4.0.0/lib/socket.c:146:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(ifname)); data/libnfs-4.0.0/nfs4/libnfs-raw-nfs4.c:1877:68: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!zdr_open_read_delegation4 (zdrs, &objp->open_delegation4_u.read)) data/libnfs-4.0.0/nfs4/libnfs-raw-nfs4.h:934:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). open_read_delegation4 read; data/libnfs-4.0.0/tests/prog_open_write.c:108:13: [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(argv[5]) > 0) { data/libnfs-4.0.0/tests/prog_open_write.c:109: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). count = nfs_write(nfs, fh, strlen(argv[5]), argv[5]); data/libnfs-4.0.0/utils/nfs-cp.c:122:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return read(fc->fd, buf, count); data/libnfs-4.0.0/win32/win32_compat.c:53:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int strLen = strlen(src) + 1; data/libnfs-4.0.0/win32/win32_compat.c:61:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(srcNonConst, src, strLen); ANALYSIS SUMMARY: Hits = 348 Lines analyzed = 47697 in approximately 1.09 seconds (43896 lines/second) Physical Source Lines of Code (SLOC) = 35158 Hits@level = [0] 690 [1] 80 [2] 198 [3] 12 [4] 54 [5] 4 Hits@level+ = [0+] 1038 [1+] 348 [2+] 268 [3+] 70 [4+] 58 [5+] 4 Hits/KSLOC@level+ = [0+] 29.5239 [1+] 9.89817 [2+] 7.62273 [3+] 1.99101 [4+] 1.6497 [5+] 0.113772 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.