Skip to content

Commit

Permalink
crypto: af_alg - Fix socket double-free when accept fails
Browse files Browse the repository at this point in the history
When we fail an accept(2) call we will end up freeing the socket
twice, once due to the direct sk_free call and once again through
newsock.

This patch fixes this by removing the sk_free call.

Cc: [email protected]
Reported-by: Dmitry Vyukov <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
  • Loading branch information
herbertx committed Jan 18, 2016
1 parent c840ac6 commit a383292
Showing 1 changed file with 1 addition and 3 deletions.
4 changes: 1 addition & 3 deletions crypto/af_alg.c
Original file line number Diff line number Diff line change
Expand Up @@ -285,10 +285,8 @@ int af_alg_accept(struct sock *sk, struct socket *newsock)
security_sk_clone(sk, sk2);

err = type->accept(ask->private, sk2);
if (err) {
sk_free(sk2);
if (err)
goto unlock;
}

sk2->sk_family = PF_ALG;

Expand Down

0 comments on commit a383292

Please sign in to comment.