]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
dbus: Initialize temporary entry properly (CID 62877)
authorJouni Malinen <j@w1.fi>
Thu, 12 Jun 2014 17:02:00 +0000 (20:02 +0300)
committerJouni Malinen <j@w1.fi>
Thu, 12 Jun 2014 21:27:15 +0000 (00:27 +0300)
The tmpentry variable was not initialized and
_wpa_dbus_dict_entry_get_byte_array() does not set tmpentry.type, so it
would have been possible for the error path to end up trying to free
unexpected type of an entry or not free the memory at all.

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

index 61a94304bcbe383dd6118aaf857371329aed2f63..80a1178e2ddc1f3e34a1bc828bdd4007aae06493 100644 (file)
@@ -881,6 +881,8 @@ static dbus_bool_t _wpa_dbus_dict_entry_get_binarray(
                }
 
                dbus_message_iter_recurse(iter, &iter_array);
+               os_memset(&tmpentry, 0, sizeof(tmpentry));
+               tmpentry.type = DBUS_TYPE_ARRAY;
                if (_wpa_dbus_dict_entry_get_byte_array(&iter_array, &tmpentry)
                                        == FALSE)
                        goto cleanup;