On 06/10/2020 00:05, Wietse Venema wrote: > John Fawcett: >> Actually to be more precise: is it guaranteed to return not null and >> with all the function pointers in the returned dict struct also not >> null. I'm adding this because I think it does always return something >> not null, but I'm not sure that the function pointers are always not >> null. There's a condition that sometimes does not define update and >> delete in dict_surrogate.c >> >> ?? if (open_flags & O_RDWR) { >> ??????? dp->dict.update = dict_surrogate_update; >> ??????? dp->dict.delete = dict_surrogate_delete; >> ??? } >> >> Not sure if that helps, but just an idea. > Those function pointer are initialized by dict_alloc() as pointers > to function that say "you cannot do this". > > Wietse
It all looks safe for code paths that pass through dict_surrogate but also for cases that don't. Not a problem in text hash tables then. Waiting to see what the core dump throws up. John