diff --git a/gtk2_ardour/ardour_http.cc b/gtk2_ardour/ardour_http.cc index 569c0e2197..3ffea61b33 100644 --- a/gtk2_ardour/ardour_http.cc +++ b/gtk2_ardour/ardour_http.cc @@ -141,7 +141,8 @@ HttpGet::~HttpGet () char* HttpGet::get (const char* url) { - if (!_curl) { + _status = _result = -1; + if (!_curl || !url) { return NULL; } @@ -151,7 +152,9 @@ HttpGet::get (const char* url) if (!persist) { free (mem.data); - } + } // otherwise caller is expected to have free()d or re-used it. + + mem.data = NULL; mem.size = 0; curl_easy_setopt (_curl, CURLOPT_URL, url); diff --git a/gtk2_ardour/ardour_http.h b/gtk2_ardour/ardour_http.h index cabcb3d5bc..06cf46f408 100644 --- a/gtk2_ardour/ardour_http.h +++ b/gtk2_ardour/ardour_http.h @@ -39,7 +39,7 @@ class HttpGet { std::string get (const std::string& url) { char *rv = get (url.c_str ()); - return rv ? std::string (rv) : std::string (); + return rv ? std::string (rv) : std::string (""); } char* data () const { return mem.data; }