Commit 0d3ac6a7 authored by Casian Andrei's avatar Casian Andrei Committed by Ilkka Ollakka

dbus: Prevent dictionary from growing out of control

For each item that was appended or deleted, the ("Tracks", NULL) pair
was inserted (duplicated over and over) in the tracklist_properties
dictionary. The dictionary was inserting it in the same position and
it assumed it had hash collisions, triggering an expansion at every
insertion of that pair.

Check if the key is present before inserting in the dict again, at
playlist_item_append, playlist_item_deleted events.
Signed-off-by: Ilkka Ollakka's avatarIlkka Ollakka <ileoo@videolan.org>
parent 308259d1
......@@ -556,7 +556,8 @@ static void ProcessEvents( intf_thread_t *p_intf,
vlc_dictionary_insert( &player_properties, "CanPlay", NULL );
}
vlc_dictionary_insert( &tracklist_properties, "Tracks", NULL );
if( !vlc_dictionary_has_key( &tracklist_properties, "Tracks" ) )
vlc_dictionary_insert( &tracklist_properties, "Tracks", NULL );
break;
case SIGNAL_VOLUME_MUTED:
case SIGNAL_VOLUME_CHANGE:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment