summaryrefslogtreecommitdiffstats
path: root/sys/netpfil
diff options
context:
space:
mode:
authorloos <loos@FreeBSD.org>2015-08-27 14:07:28 +0000
committerloos <loos@FreeBSD.org>2015-08-27 14:07:28 +0000
commit731978cbcf55c0b2c8e403cd20d662a337217a58 (patch)
tree6d72ac7c84c42e68c87826358cbd47da4641b358 /sys/netpfil
parent0e7643b351195aa5638a539418b9283574ce54f4 (diff)
downloadFreeBSD-src-731978cbcf55c0b2c8e403cd20d662a337217a58.zip
FreeBSD-src-731978cbcf55c0b2c8e403cd20d662a337217a58.tar.gz
MFC r287119:
Reapply r196551 which was accidentally reverted by r223637 (update to OpenBSD pf 4.5). Fix argument ordering to memcpy as well as the size of the copy in the (theoretical) case that pfi_buffer_cnt should be greater than ~_max. This fix the failure when you hit the self table size and force it to be resized. Sponsored by: Rubicon Communications (Netgate)
Diffstat (limited to 'sys/netpfil')
-rw-r--r--sys/netpfil/pf/pf_if.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netpfil/pf/pf_if.c b/sys/netpfil/pf/pf_if.c
index 91fbeb8..d1214fa 100644
--- a/sys/netpfil/pf/pf_if.c
+++ b/sys/netpfil/pf/pf_if.c
@@ -578,7 +578,7 @@ pfi_address_add(struct sockaddr *sa, int af, int net)
__func__, V_pfi_buffer_cnt, PFI_BUFFER_MAX);
return;
}
- memcpy(V_pfi_buffer, p, V_pfi_buffer_cnt * sizeof(*V_pfi_buffer));
+ memcpy(p, V_pfi_buffer, V_pfi_buffer_max * sizeof(*V_pfi_buffer));
/* no need to zero buffer */
free(V_pfi_buffer, PFI_MTYPE);
V_pfi_buffer = p;
OpenPOWER on IntegriCloud