diff options
-rw-r--r-- | src/exchange/taler-exchange-httpd.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/exchange/taler-exchange-httpd.c b/src/exchange/taler-exchange-httpd.c index f5acd1cd8..de251acbb 100644 --- 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, |