summaryrefslogtreecommitdiff
path: root/src/lib/merchant_api_proposal.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/merchant_api_proposal.c')
-rw-r--r--src/lib/merchant_api_proposal.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/lib/merchant_api_proposal.c b/src/lib/merchant_api_proposal.c
index de2a2281..920f08e9 100644
--- 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;