From 61d2ce21af16095f3b4db198b41005841a271a77 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Mon, 29 Apr 2013 13:50:02 +0300 Subject: [PATCH] hostapd: Reject configuration file without interface parameter Previously, this was initialized partially, but the interface was not really started. That could result in eloop_run() returning immediately and hostapd process getting stopped without any clear indication of a failure. [Bug 479] Signed-hostap: Jouni Malinen --- hostapd/main.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/hostapd/main.c b/hostapd/main.c index d2ec1a502..1cd4a4a70 100644 --- a/hostapd/main.c +++ b/hostapd/main.c @@ -301,13 +301,18 @@ hostapd_interface_init(struct hapd_interfaces *interfaces, iface->bss[0]->conf->logger_stdout_level--; } - if (iface->conf->bss[0].iface[0] != 0 || - hostapd_drv_none(iface->bss[0])) { - if (hostapd_driver_init(iface) || - hostapd_setup_interface(iface)) { - hostapd_interface_deinit_free(iface); - return NULL; - } + if (iface->conf->bss[0].iface[0] == '\0' && + !hostapd_drv_none(iface->bss[0])) { + wpa_printf(MSG_ERROR, "Interface name not specified in %s", + config_fname); + hostapd_interface_deinit_free(iface); + return NULL; + } + + if (hostapd_driver_init(iface) || + hostapd_setup_interface(iface)) { + hostapd_interface_deinit_free(iface); + return NULL; } return iface;