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>
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 "
eloop_register_read_sock(netlink->sock, netlink_receive, netlink,
NULL);
+ netlink->cfg = cfg;
+
return netlink;
}