@@ -1496,7 +1496,7 @@ static void p2p_handshake_event(struct handshake_state *hs,
static void p2p_try_connect_group(struct p2p_device *dev)
{
struct scan_bss *bss = dev->conn_wsc_bss;
- struct handshake_state *hs = NULL;
+ _auto_(handshake_state_free) struct handshake_state *hs = NULL;
struct iovec ie_iov[16];
int ie_num = 0;
int r;
@@ -1562,6 +1562,7 @@ static void p2p_try_connect_group(struct p2p_device *dev)
goto error;
}
+ l_steal_ptr(hs);
dev->conn_retry_count++;
done:
@@ -1570,9 +1571,6 @@ done:
error:
not_supported:
- if (hs)
- handshake_state_free(hs);
-
p2p_connect_failed(dev);
goto done;
}