The branch main has been updated by markj:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=2df39ce5d4a8836ef5fd3c2666f48041042eff42

commit 2df39ce5d4a8836ef5fd3c2666f48041042eff42
Author:     Mark Johnston <[email protected]>
AuthorDate: 2025-10-14 13:33:13 +0000
Commit:     Mark Johnston <[email protected]>
CommitDate: 2025-10-14 13:41:20 +0000

    ipfw: Check for errors from sooptcopyin() and sooptcopyout()
    
    Note, it looks like this code may be unused since commit 4a77657cbc01
    ("ipfw: migrate ipfw to 32-bit size rule numbers").  In particular, it
    looks like the ipfw_nat_*_ptr pointers are unused now.
    
    Reviewed by:    ae
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D53068
---
 sys/netpfil/ipfw/ip_fw_nat.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/sys/netpfil/ipfw/ip_fw_nat.c b/sys/netpfil/ipfw/ip_fw_nat.c
index 1cee7873de31..8bd27f6885ab 100644
--- a/sys/netpfil/ipfw/ip_fw_nat.c
+++ b/sys/netpfil/ipfw/ip_fw_nat.c
@@ -999,9 +999,11 @@ ipfw_nat_del(struct sockopt *sopt)
 {
        struct cfg_nat *ptr;
        struct ip_fw_chain *chain = &V_layer3_chain;
-       int i;
+       int error, i;
 
-       sooptcopyin(sopt, &i, sizeof i, sizeof i);
+       error = sooptcopyin(sopt, &i, sizeof i, sizeof i);
+       if (error != 0)
+               return (error);
        /* XXX validate i */
        IPFW_UH_WLOCK(chain);
        ptr = lookup_nat(&chain->nat, i);
@@ -1104,7 +1106,7 @@ ipfw_nat_get_log(struct sockopt *sopt)
 {
        uint8_t *data;
        struct cfg_nat *ptr;
-       int i, size;
+       int error, i, size;
        struct ip_fw_chain *chain;
        IPFW_RLOCK_TRACKER;
 
@@ -1134,9 +1136,9 @@ ipfw_nat_get_log(struct sockopt *sopt)
                i += LIBALIAS_BUF_SIZE;
        }
        IPFW_RUNLOCK(chain);
-       sooptcopyout(sopt, data, size);
+       error = sooptcopyout(sopt, data, size);
        free(data, M_IPFW);
-       return(0);
+       return (error);
 }
 
 static int

Reply via email to