|
@@ -760,7 +760,6 @@ sctp_disposition_t sctp_sf_do_5_1D_ce(struct net *net,
|
|
|
|
|
|
/* Make sure that we and the peer are AUTH capable */
|
|
/* Make sure that we and the peer are AUTH capable */
|
|
if (!net->sctp.auth_enable || !new_asoc->peer.auth_capable) {
|
|
if (!net->sctp.auth_enable || !new_asoc->peer.auth_capable) {
|
|
- kfree_skb(chunk->auth_chunk);
|
|
|
|
sctp_association_free(new_asoc);
|
|
sctp_association_free(new_asoc);
|
|
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
|
|
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
|
|
}
|
|
}
|
|
@@ -775,10 +774,6 @@ sctp_disposition_t sctp_sf_do_5_1D_ce(struct net *net,
|
|
auth.transport = chunk->transport;
|
|
auth.transport = chunk->transport;
|
|
|
|
|
|
ret = sctp_sf_authenticate(net, ep, new_asoc, type, &auth);
|
|
ret = sctp_sf_authenticate(net, ep, new_asoc, type, &auth);
|
|
-
|
|
|
|
- /* We can now safely free the auth_chunk clone */
|
|
|
|
- kfree_skb(chunk->auth_chunk);
|
|
|
|
-
|
|
|
|
if (ret != SCTP_IERROR_NO_ERROR) {
|
|
if (ret != SCTP_IERROR_NO_ERROR) {
|
|
sctp_association_free(new_asoc);
|
|
sctp_association_free(new_asoc);
|
|
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
|
|
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
|