diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2022-02-22 15:23:40 +0000 |
---|---|---|
committer | Hanna Reitz <hreitz@redhat.com> | 2022-03-07 09:19:20 +0100 |
commit | 2ea7dfcd05bad3b81d63eaac50bf1fc78636de5b (patch) | |
tree | a21d2f62b09e20771124cba7291cf8a54bc3a377 | |
parent | 7e5cdb345f77d76cb4877fe6230c4e17a7d0d0ca (diff) |
block/curl.c: Set error message string if curl_init_state() fails
In curl_open(), the 'out' label assumes that the state->errmsg string
has been set (either by curl_easy_perform() or by manually copying a
string into it); however if curl_init_state() fails we will jump to
that label without setting the string. Add the missing error string
setup.
(We can't be specific about the cause of failure: the documentation
of curl_easy_init() just says "If this function returns NULL,
something went wrong".)
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20220222152341.850419-2-peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
-rw-r--r-- | block/curl.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/block/curl.c b/block/curl.c index 6a6cd72975..9516852971 100644 --- a/block/curl.c +++ b/block/curl.c @@ -759,6 +759,8 @@ static int curl_open(BlockDriverState *bs, QDict *options, int flags, // Get file size if (curl_init_state(s, state) < 0) { + pstrcpy(state->errmsg, CURL_ERROR_SIZE, + "curl library initialization failed."); goto out; } |