• Andreas Rheinhardt's avatar
    avutil/dict: Error out in case of key == NULL · 187cd278
    Andreas Rheinhardt authored
    Up until now, using NULL as key in av_dict_get() on a non-empty
    AVDictionary would crash; using NULL as key in av_dict_set()
    would also crash for a non-empty AVDictionary unless AV_DICT_MULTIKEY
    was set; in case the dictionary was initially empty or AV_DICT_MULTIKEY
    was set, it was even possible for av_dict_set() to succeed when
    adding a NULL key, namely when one uses a value != NULL and
    the AV_DICT_DONT_STRDUP_VAL flag. Using av_dict_get() on such
    an AVDictionary will usually lead to crashes, though.
    
    Fix this by actually checking for key in both functions; error out
    if they are NULL.
    
    While just at it, also stop relying on av_strdup(NULL) to return NULL
    in av_dict_set().
    Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@outlook.com>
    187cd278
dict.c 7.43 KB