debuginfod: Initialize response_data early in debuginfod-client query
Commit Message
On error going to out2, the response_data is freed. So initialize the
response_data to NULL immediately after allocation or when going back
to query_in_parallel.
Signed-off-by: Mark Wielaard <mark@klomp.org>
---
debuginfod/ChangeLog | 5 +++++
debuginfod/debuginfod-client.c | 4 ++--
2 files changed, 7 insertions(+), 2 deletions(-)
Comments
Hi,
On Tue, 2022-11-15 at 17:55 +0100, Mark Wielaard wrote:
> On error going to out2, the response_data is freed. So initialize the
> response_data to NULL immediately after allocation or when going back
> to query_in_parallel.
Frank on irc said this looked fine.
Pushed,
Mark
@@ -1,3 +1,8 @@
+2022-11-15 Mark Wielaard <mark@klomp.org>
+
+ * debuginfod-client.c (debuginfod_query_server): Initialize
+ response_data early.
+
2022-11-04 Aaron Merey <amerey@redhat.com>
* debuginfod-client.c (debuginfod_find_section): Ensure rc
@@ -1250,6 +1250,8 @@ debuginfod_query_server (debuginfod_client *c,
data[i].handle = NULL;
data[i].fd = -1;
data[i].errbuf[0] = '\0';
+ data[i].response_data = NULL;
+ data[i].response_data_size = 0;
}
char *escaped_string = NULL;
@@ -1346,8 +1348,6 @@ debuginfod_query_server (debuginfod_client *c,
curl_easy_setopt_ck (data[i].handle, CURLOPT_LOW_SPEED_LIMIT,
100 * 1024L);
}
- data[i].response_data = NULL;
- data[i].response_data_size = 0;
curl_easy_setopt_ck(data[i].handle, CURLOPT_FILETIME, (long) 1);
curl_easy_setopt_ck(data[i].handle, CURLOPT_FOLLOWLOCATION, (long) 1);
curl_easy_setopt_ck(data[i].handle, CURLOPT_FAILONERROR, (long) 1);