From: Jouni Malinen Date: Mon, 14 Apr 2014 20:04:55 +0000 (+0300) Subject: l2_packet: Fix l2_packet_none (hostapd default) X-Git-Tag: hostap_2_2~264 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e47ee249bc8d4f656aee5e6cfc3af14b8a5a0802;p=thirdparty%2Fhostap.git l2_packet: Fix l2_packet_none (hostapd default) The sample code here ended up trying to register an eloop socket with fd == -1. This was not really ever supposed to be used, but it is now also hitting an assert in eloop. Skip the unnecessary eloop_register_read_sock() to avoid this. This was causing issues for hostapd since CONFIG_L2_PACKET is not set by default. If CONFIG_RSN_PREAUTH=y was not used for CONFIG_L2_PACKET was not set in .config explicitly, the defaul use of l2_packet_none.c ended up hitting the newly added assert() in eloop. Signed-off-by: Jouni Malinen --- diff --git a/src/l2_packet/l2_packet_none.c b/src/l2_packet/l2_packet_none.c index b01e83022..6896c4e4e 100644 --- a/src/l2_packet/l2_packet_none.c +++ b/src/l2_packet/l2_packet_none.c @@ -84,7 +84,8 @@ struct l2_packet_data * l2_packet_init( * TODO: open connection for receiving frames */ l2->fd = -1; - eloop_register_read_sock(l2->fd, l2_packet_receive, l2, NULL); + if (l2->fd >= 0) + eloop_register_read_sock(l2->fd, l2_packet_receive, l2, NULL); return l2; }