From e47ee249bc8d4f656aee5e6cfc3af14b8a5a0802 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Mon, 14 Apr 2014 23:04:55 +0300 Subject: [PATCH] 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 --- src/l2_packet/l2_packet_none.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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; }