wpa_supplicant: events: Don't bounce timeout reason through a buffer

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>
This commit is contained in:
Johannes Berg 2017-03-08 21:41:17 +01:00 committed by Jouni Malinen
parent be607ceb55
commit 15e5ee0b75

View file

@ -3618,7 +3618,6 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
union wpa_event_data *data) union wpa_event_data *data)
{ {
struct wpa_supplicant *wpa_s = ctx; struct wpa_supplicant *wpa_s = ctx;
char buf[100];
int resched; int resched;
if (wpa_s->wpa_state == WPA_INTERFACE_DISABLED && if (wpa_s->wpa_state == WPA_INTERFACE_DISABLED &&
@ -3787,24 +3786,23 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
break; break;
#endif /* CONFIG_IBSS_RSN */ #endif /* CONFIG_IBSS_RSN */
case EVENT_ASSOC_REJECT: 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) if (data->assoc_reject.bssid)
wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_ASSOC_REJECT 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), MAC2STR(data->assoc_reject.bssid),
data->assoc_reject.status_code, data->assoc_reject.status_code,
data->assoc_reject.timed_out ? " timeout" : "", data->assoc_reject.timed_out ? " timeout" : "",
buf); data->assoc_reject.timeout_reason ? "=" : "",
data->assoc_reject.timeout_reason ?
data->assoc_reject.timeout_reason : "");
else else
wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_ASSOC_REJECT 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.status_code,
data->assoc_reject.timed_out ? " timeout" : "", 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; wpa_s->assoc_status_code = data->assoc_reject.status_code;
wpas_notify_assoc_status_code(wpa_s); wpas_notify_assoc_status_code(wpa_s);
if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME) if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME)