mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2025-02-17 17:43:06 -05:00
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
@ -97,8 +97,6 @@ struct netlink_data * netlink_init(struct netlink_config *cfg)
|
|||||||
if (netlink == NULL)
|
if (netlink == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
netlink->cfg = cfg;
|
|
||||||
|
|
||||||
netlink->sock = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
|
netlink->sock = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
|
||||||
if (netlink->sock < 0) {
|
if (netlink->sock < 0) {
|
||||||
wpa_printf(MSG_ERROR, "netlink: Failed to open netlink "
|
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,
|
eloop_register_read_sock(netlink->sock, netlink_receive, netlink,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
netlink->cfg = cfg;
|
||||||
|
|
||||||
return netlink;
|
return netlink;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user