commit af6293c5ef3272ad51567edb15901b7b6bfeab6b
parent e22dcecc66b9915b6e1aafbcdc0e72e91248681c
Author: Christian Grothoff <christian@grothoff.org>
Date: Sat, 9 Nov 2019 14:36:14 +0100
clean up leaks, check URL construction worked
Diffstat:
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/lib/merchant_api_proposal.c b/src/lib/merchant_api_proposal.c
@@ -393,16 +393,27 @@ TALER_MERCHANT_proposal_lookup (struct GNUNET_CURL_Context *ctx,
"nonce",
nonce_str,
NULL);
+ GNUNET_free_non_null (nonce_str);
+ if (NULL == plo->url)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Could not construct request URL. Is `%s' valid?\n",
+ backend_url);
+ GNUNET_free (plo);
+ return NULL;
+ }
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"looking up proposal from %s\n",
plo->url);
-
eh = curl_easy_init ();
if (CURLE_OK != curl_easy_setopt (eh,
CURLOPT_URL,
plo->url))
{
GNUNET_break (0);
+ curl_easy_cleanup (eh);
+ GNUNET_free (plo->url);
+ GNUNET_free (plo);
return NULL;
}
@@ -413,6 +424,8 @@ TALER_MERCHANT_proposal_lookup (struct GNUNET_CURL_Context *ctx,
plo)))
{
GNUNET_break (0);
+ GNUNET_free (plo->url);
+ GNUNET_free (plo);
return NULL;
}
return plo;