]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Check os_snprintf() result more consistently - success case
authorJouni Malinen <j@w1.fi>
Sun, 7 Dec 2014 10:15:34 +0000 (12:15 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 8 Dec 2014 09:42:07 +0000 (11:42 +0200)
This converts os_snprintf() result validation cases to use
os_snprintf_error() in cases where success condition was used to execute
a step. These changes were done automatically with spatch using the
following semantic patch:

@@
expression E1,E2,E3;
statement S1;
@@

  E1 = os_snprintf(E2, E3, ...);
- if (\( E1 >= 0 \| E1 > 0 \) && \( (size_t) E1 < E3 \| E1 < (int) E3 \| E1 < E3 \))
+ if (!os_snprintf_error(E3, E1))
  S1

Signed-off-by: Jouni Malinen <j@w1.fi>
src/ap/wps_hostapd.c
src/drivers/driver_nl80211_event.c
src/eap_server/eap_server_ttls.c
wpa_supplicant/config.c
wpa_supplicant/ctrl_iface.c
wpa_supplicant/wpa_cli.c
wpa_supplicant/wps_supplicant.c

index c4d7194a30c3ba42afc85148ff4b78971a6da724..69434c8c9acaed458230df63d72baa896161ace5 100644 (file)
@@ -185,7 +185,7 @@ static void hostapd_wps_pin_needed_cb(void *ctx, const u8 *uuid_e,
                          dev->model_number, dev->serial_number,
                          wps_dev_type_bin2str(dev->pri_dev_type, devtype,
                                               sizeof(devtype)));
-       if (len > 0 && len < (int) sizeof(txt))
+       if (!os_snprintf_error(sizeof(txt), len))
                wpa_msg(hapd->msg_ctx, MSG_INFO, "%s", txt);
 
        if (hapd->conf->wps_pin_requests) {
index ab5208ee0ab9550fdfdf28f37284c6f0c8cb7d45..1faf3fd7ce0a892d0151495ec59a00d2990f9218 100644 (file)
@@ -1015,7 +1015,7 @@ static void send_scan_event(struct wpa_driver_nl80211_data *drv, int aborted,
                        freqs[num_freqs] = nla_get_u32(nl);
                        res = os_snprintf(pos, end - pos, " %d",
                                          freqs[num_freqs]);
-                       if (res > 0 && end - pos > res)
+                       if (!os_snprintf_error(end - pos, res))
                                pos += res;
                        num_freqs++;
                        if (num_freqs == MAX_REPORT_FREQS - 1)
index 7f662d9db15183c34f27a72c574f05911398e589..12a31b07a63b46d9443ed6372080a4f92cf779dc 100644 (file)
@@ -409,7 +409,7 @@ static struct wpabuf * eap_ttls_build_phase2_mschapv2(
                                       RADIUS_VENDOR_ID_MICROSOFT, 1, 43);
                *pos++ = data->mschapv2_ident;
                ret = os_snprintf((char *) pos, end - pos, "S=");
-               if (ret >= 0 && ret < end - pos)
+               if (!os_snprintf_error(end - pos, ret))
                        pos += ret;
                pos += wpa_snprintf_hex_uppercase(
                        (char *) pos, end - pos, data->mschapv2_auth_response,
index 5ebc1a8fd125c1f14555086aae2997dbe057a087..91550c7476b915f4b99ef939a04f916bd4927de7 100644 (file)
@@ -1310,7 +1310,7 @@ static int wpa_config_parse_wep_key(u8 *key, size_t *len, int line,
        os_memcpy(key, buf, *len);
        str_clear_free(buf);
        res = os_snprintf(title, sizeof(title), "wep_key%d", idx);
-       if (res >= 0 && (size_t) res < sizeof(title))
+       if (!os_snprintf_error(sizeof(title), res))
                wpa_hexdump_key(MSG_MSGDUMP, title, key, *len);
        return 0;
 }
index a70d2b53852b65c8c270e912e2f9119a9e6711a9..f1b1e5eb3852bb3b9b56456d5d7769d9907c9695 100644 (file)
@@ -2260,7 +2260,7 @@ static char * wpa_supplicant_wps_ie_txt_buf(struct wpa_supplicant *wpa_s,
                txt = "[WPS]";
 
        ret = os_snprintf(pos, end - pos, "%s", txt);
-       if (ret >= 0 && ret < end - pos)
+       if (!os_snprintf_error(end - pos, ret))
                pos += ret;
        wpabuf_free(wps_ie);
        return pos;
index 778adf9ce8c64e285e215e1fa26b71213e6180ab..ee65e1098effecf78f001887756780946bb22dc0 100644 (file)
@@ -3681,7 +3681,7 @@ static void update_ifnames(struct wpa_ctrl *ctrl)
                        break;
                *end = '\0';
                ret = os_snprintf(txt, sizeof(txt), "ifname=%s", pos);
-               if (ret > 0 && ret < (int) sizeof(txt))
+               if (!os_snprintf_error(sizeof(txt), ret))
                        cli_txt_list_add(&ifnames, txt);
                pos = end + 1;
        }
index d934b1adf8e3eb7faef84b5e7b917e7ba0aef2c3..94064df0aad077f8ec11179064ae01f5446a4298 100644 (file)
@@ -1318,7 +1318,7 @@ static void wpas_wps_pin_needed_cb(void *ctx, const u8 *uuid_e,
                          dev->model_number, dev->serial_number,
                          wps_dev_type_bin2str(dev->pri_dev_type, devtype,
                                               sizeof(devtype)));
-       if (len > 0 && len < (int) sizeof(txt))
+       if (!os_snprintf_error(sizeof(txt), len))
                wpa_printf(MSG_INFO, "%s", txt);
 }