librepo/librepo-PR148-clean-up-curl-target_handle.patch

29 lines
1.2 KiB
Diff

From e7d7a50ef8a6c2ac1c3492a15fffaab68546a49f Mon Sep 17 00:00:00 2001
From: Jonathan Dieter <jdieter@gmail.com>
Date: Sun, 31 Mar 2019 18:04:32 +0100
Subject: [PATCH] Clean up target->curl_handle rather than target->handle
Cleaning up target->handle causes a segfault when this codepath is run, so
this patch fixes it so we clean up target->curl_handle
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
---
librepo/downloader.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/librepo/downloader.c b/librepo/downloader.c
index d7e2d70..9650f07 100644
--- a/librepo/downloader.c
+++ b/librepo/downloader.c
@@ -1451,8 +1451,8 @@ prepare_next_transfer(LrDownload *dd, gboolean *candidatefound, GError **err)
if(target->zck_state == LR_ZCK_DL_FINISHED) {
g_debug("%s: Target already fully downloaded: %s", __func__, target->target->path);
target->state = LR_DS_FINISHED;
- curl_easy_cleanup(target->handle);
- target->handle = NULL;
+ curl_easy_cleanup(target->curl_handle);
+ target->curl_handle = NULL;
g_free(target->headercb_interrupt_reason);
target->headercb_interrupt_reason = NULL;
fclose(target->f);