The branch main has been updated by kp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=33d55d0d0f33787e9e2796b5000be73af42573bc

commit 33d55d0d0f33787e9e2796b5000be73af42573bc
Author:     Kristof Provost <[email protected]>
AuthorDate: 2023-11-17 09:14:59 +0000
Commit:     Kristof Provost <[email protected]>
CommitDate: 2023-11-17 12:21:14 +0000

    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 <[email protected]>
    MFC after:      1 week
    Sponsored by:   Rubicon Communications, LLC ("Netgate")
---
 lib/libpfctl/libpfctl.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c
index 41ac2892a5a6..be794c6d3f34 100644
--- a/lib/libpfctl/libpfctl.c
+++ b/lib/libpfctl/libpfctl.c
@@ -78,6 +78,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;
@@ -229,6 +234,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];

Reply via email to