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