summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2017-06-04 22:49:51 +0200
committerChristian Grothoff <christian@grothoff.org>2017-06-04 22:49:51 +0200
commit979e9d380d6169034f9f426a3b2b050ac4907200 (patch)
tree870f6d9ff4445d187fcd4bc414d30f4231c8c10e
parentf1395b9cd50df28853cd138557b41ddd79b4ecd3 (diff)
downloadmerchant-979e9d380d6169034f9f426a3b2b050ac4907200.tar.gz
merchant-979e9d380d6169034f9f426a3b2b050ac4907200.tar.bz2
merchant-979e9d380d6169034f9f426a3b2b050ac4907200.zip
fix more leaks, failure to reset job ptr when done
-rw-r--r--src/backend/taler-merchant-httpd_proposal.c18
-rw-r--r--src/lib/merchant_api_proposal.c1
2 files changed, 9 insertions, 10 deletions
diff --git a/src/backend/taler-merchant-httpd_proposal.c b/src/backend/taler-merchant-httpd_proposal.c
index 7a1cabbb..e2332efc 100644
--- a/src/backend/taler-merchant-httpd_proposal.c
+++ b/src/backend/taler-merchant-httpd_proposal.c
@@ -435,25 +435,23 @@ MH_handler_proposal_lookup (struct TMH_RequestHandler *rh,
"order_id");
res = db->find_contract_terms (db->cls,
- &contract_terms,
- order_id,
- &mi->pubkey);
+ &contract_terms,
+ order_id,
+ &mi->pubkey);
if (GNUNET_NO == res)
return TMH_RESPONSE_reply_not_found (connection,
TALER_EC_PROPOSAL_LOOKUP_NOT_FOUND,
"unknown transaction id");
-
if (GNUNET_SYSERR == res)
return TMH_RESPONSE_reply_internal_error (connection,
TALER_EC_PROPOSAL_LOOKUP_DB_ERROR,
"An error occurred while retrieving proposal data from db");
-
- return TMH_RESPONSE_reply_json (connection,
- contract_terms,
- MHD_HTTP_OK);
-
-
+ res = TMH_RESPONSE_reply_json (connection,
+ contract_terms,
+ MHD_HTTP_OK);
+ json_decref (contract_terms);
+ return res;
}
diff --git a/src/lib/merchant_api_proposal.c b/src/lib/merchant_api_proposal.c
index 7eddeaf7..84f7045a 100644
--- a/src/lib/merchant_api_proposal.c
+++ b/src/lib/merchant_api_proposal.c
@@ -271,6 +271,7 @@ handle_proposal_lookup_finished (void *cls,
{
struct TALER_MERCHANT_ProposalLookupOperation *plo = cls;
+ plo->job = NULL;
/**
* As no data is supposed to be extracted from this
* call, we just invoke the provided callback.