vlc | branch: master | Francois Cartegnie <[email protected]> | Sun Apr 23 15:39:37 2017 +0200| [4cee7fe3238cf1ce2c382abc47a3a70b5190eb49] | committer: Francois Cartegnie
vlc_arrays: fix vlc_dictionary_has_key broken untested function went under the radar and is testing index from hash instead of key. 50% false positive due to hash % size pos. fixes random behaviour in ttml #18250 and probably playlist fetcher, dbus control > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4cee7fe3238cf1ce2c382abc47a3a70b5190eb49 --- include/vlc_arrays.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/include/vlc_arrays.h b/include/vlc_arrays.h index dcdfa7a556..b9fa33df93 100644 --- a/include/vlc_arrays.h +++ b/include/vlc_arrays.h @@ -432,7 +432,13 @@ vlc_dictionary_has_key( const vlc_dictionary_t * p_dict, const char * psz_key ) return 0; int i_pos = DictHash( psz_key, p_dict->i_size ); - return p_dict->p_entries[i_pos] != NULL; + const vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; + for( ; p_entry != NULL; p_entry = p_entry->p_next ) + { + if( !strcmp( psz_key, p_entry->psz_key ) ) + break; + } + return p_entry != NULL; } static inline void * _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
