diff options
author | Michael Tuexen <tuexen@FreeBSD.org> | 2024-11-03 09:20:08 +0000 |
---|---|---|
committer | Michael Tuexen <tuexen@FreeBSD.org> | 2024-11-06 12:33:58 +0000 |
commit | 331db93815afb49b01f269aeff0fe899acd47455 (patch) | |
tree | 751b205e497452eb3f1e1eed33d9a9d268226211 /sys/netinet/sctp_pcb.h | |
parent | e3f26ce52b71d4005e666ced22c0855dbc70b28e (diff) |
sctp: improve handling of address changes
Identify interfaces consistenly by the pair of the ifn pointer
and the index.
This avoids a use after free when the ifn and or index was reused.
Reported by: bz, pho, and others
(cherry picked from commit 523913c94371ab50a8129cbab820394d25f7a269)
Diffstat (limited to 'sys/netinet/sctp_pcb.h')
-rw-r--r-- | sys/netinet/sctp_pcb.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/sctp_pcb.h b/sys/netinet/sctp_pcb.h index 7ef6feee9c01..ce38e7cede2d 100644 --- a/sys/netinet/sctp_pcb.h +++ b/sys/netinet/sctp_pcb.h @@ -497,7 +497,7 @@ void sctp_free_ifa(struct sctp_ifa *sctp_ifap); void sctp_del_addr_from_vrf(uint32_t vrfid, struct sockaddr *addr, - uint32_t ifn_index); + void *ifn, uint32_t ifn_index); struct sctp_nets *sctp_findnet(struct sctp_tcb *, struct sockaddr *); |