On Sun, Jun 11, 2023 at 08:49:35PM +0200, Rubén Justo wrote: > An interesting point to note is that while string_list_append() is used > in the first two cases described, string_list_append_nodup() is used in > the third. This seems to indicate an intention to delegate the > responsibility for freeing the string, to the string_list. As if the > string_list had been initialized with STRING_LIST_INIT_DUP, i.e. the > strings are strdup()'d when added (except if the "_nodup" API is used) > and freed when cleared. > > Switching to STRING_LIST_INIT_DUP fixes the leak and probably is what we > wanted to do originally. Let's do it. Ah, clearing a NODUP string-list strikes again. :) I concur with your reasoning here; switching it to DUP is the best fix. -Peff