Hi - > > Good point, we don't want an aborted new transfer to retain records > > from a previous run, will fix that. > > Not just a new transfer, but also when we hit the cache before doing a > new transfer. Currently when we hit the cache and don't do any transfer > the winning_headers will point to the last http transfer which will > have nothing to do with the returned (cached) result. Just like we > clear client->url early.
Got it, pushing this: diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c index 272a6a7a007f..5e5c140ab205 100644 --- a/debuginfod/debuginfod-client.c +++ b/debuginfod/debuginfod-client.c @@ -588,9 +588,11 @@ debuginfod_query_server (debuginfod_client *c, goto out; } - /* Clear the obsolete URL from a previous _find operation. */ + /* Clear the obsolete data from a previous _find operation. */ free (c->url); c->url = NULL; + free (c->winning_headers); + c->winning_headers = NULL; /* PR 27982: Add max size if DEBUGINFOD_MAXSIZE is set. */ long maxsize = 0; - FChE