aboutsummaryrefslogtreecommitdiff
path: root/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.c
diff options
context:
space:
mode:
authorErwin Jansen <jansene@google.com>2021-06-30 07:29:26 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-06-30 07:29:26 +0000
commit059cdc5996938f5f6b5343b6c969c12098275587 (patch)
tree6eacaffe4bebf8e00c290c1e1839e084b0c52e88 /third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.c
parent97e54a7e73c7b24e464ef06ef3c3b3716f21bb15 (diff)
parent16be34ae72cdb525c88c2b31b21b976f35fe36d8 (diff)
downloadwebrtc-059cdc5996938f5f6b5343b6c969c12098275587.tar.gz
Merge "Merge upstream-master and enable ARM64" into emu-master-devemu-31-stable-releaseemu-31-release
Diffstat (limited to 'third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.c')
-rwxr-xr-xthird_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.c b/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.c
index d30019b22a..d1e84daad5 100755
--- a/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.c
+++ b/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.c
@@ -7533,7 +7533,7 @@ sctp_load_addresses_from_init(struct sctp_tcb *stcb, struct mbuf *m,
break;
}
phdr = sctp_get_next_param(m, offset, &param_buf,
- sizeof(param_buf));
+ sizeof(param_buf));
}
/* Now check to see if we need to purge any addresses */
TAILQ_FOREACH_SAFE(net, &stcb->asoc.nets, sctp_next, nnet) {
@@ -7543,11 +7543,15 @@ sctp_load_addresses_from_init(struct sctp_tcb *stcb, struct mbuf *m,
/* remove and free it */
stcb->asoc.numnets--;
TAILQ_REMOVE(&stcb->asoc.nets, net, sctp_next);
- sctp_free_remote_addr(net);
+ if (net == stcb->asoc.alternate) {
+ sctp_free_remote_addr(stcb->asoc.alternate);
+ stcb->asoc.alternate = NULL;
+ }
if (net == stcb->asoc.primary_destination) {
stcb->asoc.primary_destination = NULL;
sctp_select_primary_destination(stcb);
}
+ sctp_free_remote_addr(net);
}
}
if ((stcb->asoc.ecn_supported == 1) &&