libpfctl: handle allocation failure

While it's unlikely for userspace to fail to allocate memory it is still
possible. Handle malloc() returning NULL.

Reported by:	Bill Meeks <bill@themeeks.net>
MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 33d55d0d0f33787e9e2796b5000be73af42573bc)
This commit is contained in:
Kristof Provost 2023-11-17 10:14:59 +01:00
parent a2bb07585b
commit 8423bf2a9e

View file

@ -71,6 +71,11 @@ pfctl_do_ioctl(int dev, uint cmd, size_t size, nvlist_t **nvl)
retry:
nv.data = malloc(size);
if (nv.data == NULL) {
ret = ENOMEM;
goto out;
}
memcpy(nv.data, data, nvlen);
nv.len = nvlen;
@ -190,6 +195,8 @@ _pfctl_get_status_counters(const nvlist_t *nvl,
struct pfctl_status_counter *c;
c = malloc(sizeof(*c));
if (c == NULL)
continue;
c->id = ids[i];
c->counter = counts[i];