diff options
author | Christian Grothoff <christian@grothoff.org> | 2017-10-06 20:07:28 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2017-10-06 21:11:49 +0200 |
commit | e6a8b181f8e242e78c5c893c751d8ab179987fd2 (patch) | |
tree | 0a213101b5bb9ca3ade5b5bc2ba12ebceab5d067 /src/backend/taler-merchant-httpd_track-transaction.c | |
parent | b23781154ace70764e0c65efa1d49abba004dbf2 (diff) | |
download | merchant-e6a8b181f8e242e78c5c893c751d8ab179987fd2.tar.gz merchant-e6a8b181f8e242e78c5c893c751d8ab179987fd2.tar.bz2 merchant-e6a8b181f8e242e78c5c893c751d8ab179987fd2.zip |
check return value from TALER_JSON_hash
Diffstat (limited to 'src/backend/taler-merchant-httpd_track-transaction.c')
-rw-r--r-- | src/backend/taler-merchant-httpd_track-transaction.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/backend/taler-merchant-httpd_track-transaction.c b/src/backend/taler-merchant-httpd_track-transaction.c index 5101f3fd..7a4d0c06 100644 --- a/src/backend/taler-merchant-httpd_track-transaction.c +++ b/src/backend/taler-merchant-httpd_track-transaction.c @@ -481,7 +481,7 @@ wire_deposits_cb (void *cls, break; } if (0 > qs) - { + { /* Not good, but not fatal either, log error and continue */ /* Special report if retries insufficient */ GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR != qs); @@ -1040,8 +1040,15 @@ MH_handler_track_transaction (struct TMH_RequestHandler *rh, return TMH_RESPONSE_reply_not_found (connection, TALER_EC_PROPOSAL_LOOKUP_NOT_FOUND, "Given order_id doesn't map to any proposal"); - TALER_JSON_hash (contract_terms, - &h_contract_terms); + if (GNUNET_OK != + TALER_JSON_hash (contract_terms, + &h_contract_terms)) + { + json_decref (contract_terms); + return TMH_RESPONSE_reply_internal_error (connection, + TALER_EC_INTERNAL_LOGIC_ERROR, + "Failed to hash contract terms"); + } json_decref (contract_terms); GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, @@ -1059,7 +1066,7 @@ MH_handler_track_transaction (struct TMH_RequestHandler *rh, return TMH_RESPONSE_reply_internal_error (connection, TALER_EC_TRACK_TRANSACTION_DB_FETCH_TRANSACTION_ERROR, "Database error finding transaction"); - } + } if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs) { GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |