From: Jouni Malinen Date: Sun, 7 Dec 2014 13:45:02 +0000 (+0200) Subject: Check os_snprintf() result more consistently - more checks X-Git-Tag: hostap_2_4~867 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aaadd72733fe5099bf0849ade5890ff119e38091;p=thirdparty%2Fhostap.git Check os_snprintf() result more consistently - more checks Add more os_snprintf() result validation checks. Signed-off-by: Jouni Malinen --- diff --git a/src/ap/sta_info.c b/src/ap/sta_info.c index 02d662603..debdc0676 100644 --- a/src/ap/sta_info.c +++ b/src/ap/sta_info.c @@ -1120,6 +1120,8 @@ int ap_sta_flags_txt(u32 flags, char *buf, size_t buflen) (flags & WLAN_STA_VHT ? "[VHT]" : ""), (flags & WLAN_STA_WNM_SLEEP_MODE ? "[WNM_SLEEP_MODE]" : "")); + if (os_snprintf_error(buflen, res)) + res = -1; return res; } diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c index 0e6769b67..8c3d3b829 100644 --- a/wpa_supplicant/ap.c +++ b/wpa_supplicant/ap.c @@ -812,9 +812,14 @@ int wpa_supplicant_ap_wps_pin(struct wpa_supplicant *wpa_s, const u8 *bssid, if (pin == NULL) { unsigned int rpin = wps_generate_pin(); ret_len = os_snprintf(buf, buflen, "%08d", rpin); + if (os_snprintf_error(buflen, ret_len)) + return -1; pin = buf; - } else + } else if (buf) { ret_len = os_snprintf(buf, buflen, "%s", pin); + if (os_snprintf_error(buflen, ret_len)) + return -1; + } ret = hostapd_wps_add_pin(wpa_s->ap_iface->bss[0], bssid, "any", pin, timeout); diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c index 9e1fb291c..abf5f522a 100644 --- a/wpa_supplicant/ctrl_iface.c +++ b/wpa_supplicant/ctrl_iface.c @@ -5859,6 +5859,8 @@ static int wpa_supplicant_driver_cmd(struct wpa_supplicant *wpa_s, char *cmd, } } ret = os_snprintf(buf, buflen, "%s\n", "OK"); + if (os_snprintf_error(buflen, ret)) + ret = -1; } return ret; }