From 9149a3725d461ec40cfe1b6339a9e6b5713c50c0 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 11 Jan 2021 01:35:10 +0100 Subject: [PATCH] Assert that we have correct user data in libcurl callbacks Don't just silently ignore invalid user data value, this is not supposed to happen. Also use "userdata" name for the same parameter of all callbacks consistently. --- src/common/webrequest_curl.cpp | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/common/webrequest_curl.cpp b/src/common/webrequest_curl.cpp index 5a6208c6f9..f1458b1cd6 100644 --- a/src/common/webrequest_curl.cpp +++ b/src/common/webrequest_curl.cpp @@ -39,20 +39,18 @@ // wxWebResponseCURL // -static size_t wxCURLWriteData(void* buffer, size_t size, size_t nmemb, void* userp) +static size_t wxCURLWriteData(void* buffer, size_t size, size_t nmemb, void* userdata) { - if ( userp ) - return static_cast(userp)->WriteData(buffer, size * nmemb); - else - return 0; + wxCHECK_MSG( userdata, 0, "invalid curl write callback data" ); + + return static_cast(userdata)->WriteData(buffer, size * nmemb); } static size_t wxCURLHeader(char *buffer, size_t size, size_t nitems, void *userdata) { - if ( userdata ) - return static_cast(userdata)->AddHeaderData(buffer, size * nitems); - else - return 0; + wxCHECK_MSG( userdata, 0, "invalid curl header callback data" ); + + return static_cast(userdata)->AddHeaderData(buffer, size * nitems); } wxWebResponseCURL::wxWebResponseCURL(wxWebRequestCURL& request) : @@ -137,10 +135,9 @@ int wxWebResponseCURL::GetStatus() const static size_t wxCURLRead(char *buffer, size_t size, size_t nitems, void *userdata) { - if ( userdata ) - return static_cast(userdata)->ReadData(buffer, size * nitems); - else - return 0; + wxCHECK_MSG( userdata, 0, "invalid curl read callback data" ); + + return static_cast(userdata)->ReadData(buffer, size * nitems); } wxWebRequestCURL::wxWebRequestCURL(wxWebSession & session,