diff --git a/man/nlist.3bsd b/man/nlist.3bsd index 7dd2377..beb32a3 100644 --- a/man/nlist.3bsd +++ b/man/nlist.3bsd @@ -72,7 +72,10 @@ The last entry in the list is always The number of invalid entries is returned if successful; otherwise, if the file .Fa filename -does not exist or is not executable, the returned value is \-1. +does not exist or is not executable, +or the nl pointer is +.Dv NULL , +the returned value is \-1. .Sh SEE ALSO .Xr elf 5 .Sh HISTORY diff --git a/src/nlist.c b/src/nlist.c index 0932f59..776d315 100644 --- a/src/nlist.c +++ b/src/nlist.c @@ -258,6 +258,10 @@ nlist(const char *name, struct nlist *list) { int fd, n; + if (list == NULL) { + errno = EINVAL; + return (-1); + } fd = open(name, O_RDONLY, 0); if (fd < 0) return (-1);