diff options
author | jedgar <jedgar@FreeBSD.org> | 2002-02-21 23:13:06 +0000 |
---|---|---|
committer | jedgar <jedgar@FreeBSD.org> | 2002-02-21 23:13:06 +0000 |
commit | 6452c2e85d04e3efcaffbbd49b4c693d65e8c0ef (patch) | |
tree | 6e00b3823026644f447123b44689f43399e9f057 /lib/libc/posix1e/acl_valid.c | |
parent | 7b5185bd4c846fe62daaf852a72d061dff3af9f0 (diff) | |
download | FreeBSD-src-6452c2e85d04e3efcaffbbd49b4c693d65e8c0ef.zip FreeBSD-src-6452c2e85d04e3efcaffbbd49b4c693d65e8c0ef.tar.gz |
Add more argument checking
Reviewed by: rwatson
Obtained from: TrustedBSD Project
Diffstat (limited to 'lib/libc/posix1e/acl_valid.c')
-rw-r--r-- | lib/libc/posix1e/acl_valid.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/libc/posix1e/acl_valid.c b/lib/libc/posix1e/acl_valid.c index 6eaa6ac..e8d2df7 100644 --- a/lib/libc/posix1e/acl_valid.c +++ b/lib/libc/posix1e/acl_valid.c @@ -34,6 +34,7 @@ #include <sys/acl.h> #include "un-namespace.h" #include <sys/errno.h> +#include <stdlib.h> #include "acl_support.h" @@ -54,6 +55,10 @@ acl_valid(acl_t acl) { int error; + if (acl == NULL) { + errno = EINVAL; + return (-1); + } _posix1e_acl_sort(acl); error = _posix1e_acl_check(acl); if (error) { @@ -70,6 +75,10 @@ acl_valid_file_np(const char *pathp, acl_type_t type, acl_t acl) { int error; + if (pathp == NULL || acl == NULL) { + errno = EINVAL; + return (-1); + } if (_posix1e_acl(acl, type)) { error = _posix1e_acl_sort(acl); if (error) { @@ -87,6 +96,10 @@ acl_valid_fd_np(int fd, acl_type_t type, acl_t acl) { int error; + if (acl == NULL) { + errno = EINVAL; + return (-1); + } if (_posix1e_acl(acl, type)) { error = _posix1e_acl_sort(acl); if (error) { |