]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Fix couple of memory leaks in wpa_config_get_all()
authorJouni Malinen <j@w1.fi>
Wed, 30 Dec 2009 20:37:23 +0000 (22:37 +0200)
committerJouni Malinen <j@w1.fi>
Wed, 30 Dec 2009 20:37:23 +0000 (22:37 +0200)
wpa_supplicant/config.c

index 692b52f270ef9d3a347f2b7a3c9c915fe2c96b1a..da56dc8e3f5b0e52485d9d8d728488fc47e4d8fc 100644 (file)
@@ -1860,12 +1860,18 @@ char ** wpa_config_get_all(struct wpa_ssid *ssid, int get_keys)
                if (field->key_data && !get_keys)
                        continue;
                value = field->writer(field, ssid);
-               if (value == NULL || os_strlen(value) == 0)
+               if (value == NULL)
                        continue;
+               if (os_strlen(value) == 0) {
+                       os_free(value);
+                       continue;
+               }
 
                key = os_strdup(field->name);
-               if (key == NULL)
+               if (key == NULL) {
+                       os_free(value);
                        goto err;
+               }
 
                props[fields_num * 2] = key;
                props[fields_num * 2 + 1] = value;