dlm: fix double-release of socket in error exit path

The last correction to the tcp_connect_to_sock error exit path,
commit a89d63a159, can free an already
freed socket, due to collision with a previous (incomplete) attempt
to fix the same issue, commit 311f6fc77c.

Signed-off-by: Casey Dahlin <[email protected]>
Signed-off-by: David Teigland <[email protected]>
This commit is contained in:
Casey Dahlin 2009-07-28 12:29:05 -05:00 • committed by David Teigland
commit b5711b8e5a

View file

@ -926,10 +926,8 @@ static void tcp_connect_to_sock(struct connection *con)
goto out_err;
memset(&saddr, 0, sizeof(saddr));
if (dlm_nodeid_to_addr(con->nodeid, &saddr)) {
sock_release(sock);
if (dlm_nodeid_to_addr(con->nodeid, &saddr))
goto out_err;
}
sock->sk->sk_user_data = con;
con->rx_action = receive_from_sock;