Root/package/hostapd/patches/600-terminate_on_setup_failure.patch

1--- a/src/ap/hostapd.c
2+++ b/src/ap/hostapd.c
3@@ -720,11 +720,8 @@ int hostapd_setup_interface_complete(str
4     size_t j;
5     u8 *prev_addr;
6 
7- if (err) {
8- wpa_printf(MSG_ERROR, "Interface initialization failed");
9- eloop_terminate();
10- return -1;
11- }
12+ if (err)
13+ goto error;
14 
15     wpa_printf(MSG_DEBUG, "Completing interface initialization");
16     if (hapd->iconf->channel) {
17@@ -740,7 +737,7 @@ int hostapd_setup_interface_complete(str
18                      hapd->iconf->secondary_channel)) {
19             wpa_printf(MSG_ERROR, "Could not set channel for "
20                    "kernel driver");
21- return -1;
22+ goto error;
23         }
24     }
25 
26@@ -751,7 +748,7 @@ int hostapd_setup_interface_complete(str
27             hostapd_logger(hapd, NULL, HOSTAPD_MODULE_IEEE80211,
28                        HOSTAPD_LEVEL_WARNING,
29                        "Failed to prepare rates table.");
30- return -1;
31+ goto error;
32         }
33     }
34 
35@@ -759,14 +756,14 @@ int hostapd_setup_interface_complete(str
36         hostapd_set_rts(hapd, hapd->iconf->rts_threshold)) {
37         wpa_printf(MSG_ERROR, "Could not set RTS threshold for "
38                "kernel driver");
39- return -1;
40+ goto error;
41     }
42 
43     if (hapd->iconf->fragm_threshold > -1 &&
44         hostapd_set_frag(hapd, hapd->iconf->fragm_threshold)) {
45         wpa_printf(MSG_ERROR, "Could not set fragmentation threshold "
46                "for kernel driver");
47- return -1;
48+ goto error;
49     }
50 
51     prev_addr = hapd->own_addr;
52@@ -776,7 +773,7 @@ int hostapd_setup_interface_complete(str
53         if (j)
54             os_memcpy(hapd->own_addr, prev_addr, ETH_ALEN);
55         if (hostapd_setup_bss(hapd, j == 0))
56- return -1;
57+ goto error;
58         if (hostapd_mac_comp_empty(hapd->conf->bssid) == 0)
59             prev_addr = hapd->own_addr;
60     }
61@@ -788,7 +785,7 @@ int hostapd_setup_interface_complete(str
62     if (hostapd_driver_commit(hapd) < 0) {
63         wpa_printf(MSG_ERROR, "%s: Failed to commit driver "
64                "configuration", __func__);
65- return -1;
66+ goto error;
67     }
68 
69     /*
70@@ -812,6 +809,11 @@ int hostapd_setup_interface_complete(str
71         iface->init_complete(iface);
72 
73     return 0;
74+
75+error:
76+ wpa_printf(MSG_ERROR, "Interface initialization failed");
77+ eloop_terminate();
78+ return -1;
79 }
80 
81 
82

Archive Download this file



interactive