dbus: Initialize temporary entry properly (CID 62877)

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>
This commit is contained in:
Jouni Malinen 2014-06-12 20:02:00 +03:00
parent 70d9537361
commit 6446420b24

View 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;