From: Johannes Berg <johannes.berg@xxxxxxxxx> 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@xxxxxxxxx> --- wpa_supplicant/events.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c index 500c28506c56..5501feb1715d 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -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,21 @@ 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 ?: ""); 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 ?: ""); 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) -- 2.11.0 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap