From bd0b338e15590b8908aa56d547be3a35c0f965f2 Mon Sep 17 00:00:00 2001 From: Sergei Zimmerman Date: Wed, 19 Nov 2025 01:51:16 +0300 Subject: [PATCH] libstore/filetransfer: Swallow exceptions in debugCallback --- src/libstore/filetransfer.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libstore/filetransfer.cc b/src/libstore/filetransfer.cc index c3ad763e4..407b087c9 100644 --- a/src/libstore/filetransfer.cc +++ b/src/libstore/filetransfer.cc @@ -298,11 +298,14 @@ struct curlFileTransfer : public FileTransfer return item.progressCallback(isUpload ? ultotal : dltotal, isUpload ? ulnow : dlnow); } - static int debugCallback(CURL * handle, curl_infotype type, char * data, size_t size, void * userptr) - { + static int debugCallback(CURL * handle, curl_infotype type, char * data, size_t size, void * userptr) noexcept + try { if (type == CURLINFO_TEXT) vomit("curl: %s", chomp(std::string(data, size))); return 0; + } catch (...) { + /* Swallow the exception. Nothing left to do. */ + return 0; } size_t readCallback(char * buffer, size_t size, size_t nitems) noexcept