From 4f5e6f84eed1aff280c140b4d504338c058d450f Mon Sep 17 00:00:00 2001 From: Daniel Borkmann Date: Fri, 8 Feb 2013 03:04:35 +0000 Subject: [PATCH] --- yaml --- r: 349685 b: refs/heads/master c: b5c37fe6e24eec194bb29d22fdd55d73bcc709bf h: refs/heads/master i: 349683: f279c080d22e222b718affd6610d082eb8787f59 v: v3 --- [refs] | 2 +- trunk/net/sctp/endpointola.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 55202662c33c..5957fa852b31 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6ba542a291a5e558603ac51cda9bded347ce7627 +refs/heads/master: b5c37fe6e24eec194bb29d22fdd55d73bcc709bf diff --git a/trunk/net/sctp/endpointola.c b/trunk/net/sctp/endpointola.c index 17a001bac2cc..1a9c5fb77310 100644 --- a/trunk/net/sctp/endpointola.c +++ b/trunk/net/sctp/endpointola.c @@ -249,6 +249,8 @@ void sctp_endpoint_free(struct sctp_endpoint *ep) /* Final destructor for endpoint. */ static void sctp_endpoint_destroy(struct sctp_endpoint *ep) { + int i; + SCTP_ASSERT(ep->base.dead, "Endpoint is not dead", return); /* Free up the HMAC transform. */ @@ -271,6 +273,9 @@ static void sctp_endpoint_destroy(struct sctp_endpoint *ep) sctp_inq_free(&ep->base.inqueue); sctp_bind_addr_free(&ep->base.bind_addr); + for (i = 0; i < SCTP_HOW_MANY_SECRETS; ++i) + memset(&ep->secret_key[i], 0, SCTP_SECRET_SIZE); + /* Remove and free the port */ if (sctp_sk(ep->base.sk)->bind_hash) sctp_put_port(ep->base.sk);