Fix wpa_config_get_all() error path
authorJouni Malinen <j@w1.fi>
Mon, 4 Jul 2016 14:34:19 +0000 (17:34 +0300)
committerJouni Malinen <j@w1.fi>
Mon, 4 Jul 2016 14:49:15 +0000 (17:49 +0300)
The previous version did not really work at all and it ended up crashing
if the os_strdup(field->name) call failed.

Signed-off-by: Jouni Malinen <j@w1.fi>
wpa_supplicant/config.c

index 0571c23..ce631dd 100644 (file)
@@ -2669,9 +2669,8 @@ char ** wpa_config_get_all(struct wpa_ssid *ssid, int get_keys)
        return props;
 
 err:
-       value = *props;
-       while (value)
-               os_free(value++);
+       for (i = 0; props[i]; i++)
+               os_free(props[i]);
        os_free(props);
        return NULL;
 #endif /* NO_CONFIG_WRITE */