diff options
author | Christian Grothoff <christian@grothoff.org> | 2019-11-09 14:36:14 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2019-11-09 14:36:14 +0100 |
commit | af6293c5ef3272ad51567edb15901b7b6bfeab6b (patch) | |
tree | 66ebed6b500d05e1e565e0acbd7fa16b63e1c03a /src | |
parent | e22dcecc66b9915b6e1aafbcdc0e72e91248681c (diff) | |
download | merchant-af6293c5ef3272ad51567edb15901b7b6bfeab6b.tar.gz merchant-af6293c5ef3272ad51567edb15901b7b6bfeab6b.tar.bz2 merchant-af6293c5ef3272ad51567edb15901b7b6bfeab6b.zip |
clean up leaks, check URL construction worked
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/merchant_api_proposal.c | 15 |
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; |