Do not double free cfg struct if netlink_init() fails
If netlink_init() fails on socket create or bind the cfg struct provided as parameter is freed by netlink_init(). Callers of netlink_init() also free this struct on their error paths leading to double free. Signed-hostap: Pontus Fuchs <pontus.fuchs@gmail.com>
This commit is contained in:
parent
e99b4f3a14
commit
fb660a9431
1 changed files with 2 additions and 2 deletions
|
@ -97,8 +97,6 @@ struct netlink_data * netlink_init(struct netlink_config *cfg)
|
|||
if (netlink == NULL)
|
||||
return NULL;
|
||||
|
||||
netlink->cfg = cfg;
|
||||
|
||||
netlink->sock = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
|
||||
if (netlink->sock < 0) {
|
||||
wpa_printf(MSG_ERROR, "netlink: Failed to open netlink "
|
||||
|
@ -121,6 +119,8 @@ struct netlink_data * netlink_init(struct netlink_config *cfg)
|
|||
eloop_register_read_sock(netlink->sock, netlink_receive, netlink,
|
||||
NULL);
|
||||
|
||||
netlink->cfg = cfg;
|
||||
|
||||
return netlink;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue