exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 73d107b53d5f3c1461a74f280a84a1ab80d14360
parent f38a56d3ff706047b28c2986fc0941df55c80a44
Author: Christian Grothoff <christian@grothoff.org>
Date:   Tue, 31 Mar 2020 15:11:54 +0200

fix leak

Diffstat:
Msrc/exchange/taler-exchange-httpd.c | 8++++++++
1 file changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/exchange/taler-exchange-httpd.c b/src/exchange/taler-exchange-httpd.c @@ -339,9 +339,15 @@ proceed_with_handler (const struct TEH_RequestHandler *rh, upload_data_size, &root); if (GNUNET_SYSERR == res) + { + GNUNET_assert (NULL == root); return MHD_NO; /* bad upload, could not even generate error */ + } if ( (GNUNET_NO == res) || (NULL == root) ) + { + GNUNET_assert (NULL == root); return MHD_YES; /* so far incomplete upload or parser error */ + } } { @@ -381,6 +387,8 @@ proceed_with_handler (const struct TEH_RequestHandler *rh, rh->url, url); GNUNET_break_op (0); + if (NULL != root) + json_decref (root); return TALER_MHD_reply_with_error (connection, MHD_HTTP_NOT_FOUND, TALER_EC_WRONG_NUMBER_OF_SEGMENTS,