]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
wpa_supplicant: events: Don't bounce timeout reason through a buffer
authorJohannes Berg <johannes.berg@intel.com>
Wed, 8 Mar 2017 20:41:17 +0000 (21:41 +0100)
committerJouni Malinen <j@w1.fi>
Sat, 11 Mar 2017 08:52:43 +0000 (10:52 +0200)
There's no point in making the code use a stack buffer and first copying
the string there, only to copy it again to the output. Make the output
directly use the reason string.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
wpa_supplicant/events.c

index 500c28506c56e8c5153dae92cdefe603d3302919..11cab658bf17aad103ab7c44d7caa9d61dc707b4 100644 (file)
@@ -3618,7 +3618,6 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
                          union wpa_event_data *data)
 {
        struct wpa_supplicant *wpa_s = ctx;
-       char buf[100];
        int resched;
 
        if (wpa_s->wpa_state == WPA_INTERFACE_DISABLED &&
@@ -3787,24 +3786,23 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
                break;
 #endif /* CONFIG_IBSS_RSN */
        case EVENT_ASSOC_REJECT:
-               if (data->assoc_reject.timeout_reason)
-                       os_snprintf(buf, sizeof(buf), "=%s",
-                                   data->assoc_reject.timeout_reason);
-               else
-                       buf[0] = '\0';
                if (data->assoc_reject.bssid)
                        wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_ASSOC_REJECT
-                               "bssid=" MACSTR " status_code=%u%s%s",
+                               "bssid=" MACSTR " status_code=%u%s%s%s",
                                MAC2STR(data->assoc_reject.bssid),
                                data->assoc_reject.status_code,
                                data->assoc_reject.timed_out ? " timeout" : "",
-                               buf);
+                               data->assoc_reject.timeout_reason ? "=" : "",
+                               data->assoc_reject.timeout_reason ?
+                               data->assoc_reject.timeout_reason : "");
                else
                        wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_ASSOC_REJECT
-                               "status_code=%u%s%s",
+                               "status_code=%u%s%s%s",
                                data->assoc_reject.status_code,
                                data->assoc_reject.timed_out ? " timeout" : "",
-                               buf);
+                               data->assoc_reject.timeout_reason ? "=" : "",
+                               data->assoc_reject.timeout_reason ?
+                               data->assoc_reject.timeout_reason : "");
                wpa_s->assoc_status_code = data->assoc_reject.status_code;
                wpas_notify_assoc_status_code(wpa_s);
                if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME)