merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

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:
Msrc/lib/merchant_api_proposal.c | 15++++++++++++++-
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;