diff --git a/lib/libc/posix1e/acl_set.c b/lib/libc/posix1e/acl_set.c index 6b7ddedff8e3..39fa3a9ac88d 100644 --- a/lib/libc/posix1e/acl_set.c +++ b/lib/libc/posix1e/acl_set.c @@ -51,6 +51,10 @@ acl_set_file(const char *path_p, acl_type_t type, acl_t acl) { int error; + if (acl == NULL || path_p == NULL) { + errno = EINVAL; + return (-1); + } if (_posix1e_acl(acl, type)) { error = _posix1e_acl_sort(acl); if (error) { diff --git a/lib/libc/posix1e/acl_valid.c b/lib/libc/posix1e/acl_valid.c index 6eaa6ac058ab..e8d2df77aebc 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) {