summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-09-06 00:19:36 +0200
committerChristian Grothoff <christian@grothoff.org>2020-09-06 00:19:36 +0200
commitfed87b96dd9241e76f1a62a512f5a5fe3162aa8b (patch)
treee369c9a2399f0d0d19e447106bfe76279bfd9963 /src
parent6ac300125f397470cac808e190eb02270b9a01bb (diff)
downloadmerchant-fed87b96dd9241e76f1a62a512f5a5fe3162aa8b.tar.gz
merchant-fed87b96dd9241e76f1a62a512f5a5fe3162aa8b.tar.bz2
merchant-fed87b96dd9241e76f1a62a512f5a5fe3162aa8b.zip
try to debug crash in merchant backend on GET for refund
Diffstat (limited to 'src')
-rw-r--r--src/backend/taler-merchant-httpd_get-orders-ID.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/backend/taler-merchant-httpd_get-orders-ID.c b/src/backend/taler-merchant-httpd_get-orders-ID.c
index f55e4038..71265bb1 100644
--- a/src/backend/taler-merchant-httpd_get-orders-ID.c
+++ b/src/backend/taler-merchant-httpd_get-orders-ID.c
@@ -231,7 +231,6 @@ make_taler_refund_uri (struct MHD_Connection *con,
"X-Forwarded-Prefix");
if (NULL != forwarded_host)
host = forwarded_host;
-
if (NULL == host)
{
GNUNET_break (0);
@@ -472,8 +471,11 @@ get_order_summary (struct GetOrderData *god)
language_pattern,
"summary"));
if (NULL == ret)
+ {
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
"No order summary found!\n");
+ ret = "<bug: no summary>";
+ }
return ret;
}
@@ -533,7 +535,7 @@ send_pay_request (struct GetOrderData *god,
enum GNUNET_GenericReturnValue res;
json_t *context;
- context = json_pack ("{s:s, s:s, s:s, s:s?}",
+ context = json_pack ("{s:s, s:s, s:s, s:s}",
"taler_pay_uri",
taler_pay_uri,
"order_status_url",
@@ -1089,9 +1091,18 @@ TMH_get_orders_ID (const struct TMH_RequestHandler *rh,
char *qr;
char *uri;
+ GNUNET_assert (NULL != god->contract_terms);
uri = make_taler_refund_uri (god->sc.con,
order_id,
hc->instance->settings.id);
+ if (NULL == uri)
+ {
+ GNUNET_break (0);
+ return TALER_MHD_reply_with_error (god->sc.con,
+ MHD_HTTP_INTERNAL_SERVER_ERROR,
+ TALER_EC_ALLOCATION_FAILURE,
+ "refund URI");
+ }
qr = TMH_create_qrcode (uri);
if (NULL == qr)
{
@@ -1105,7 +1116,7 @@ TMH_get_orders_ID (const struct TMH_RequestHandler *rh,
{
json_t *context;
- context = json_pack ("{s:s?, s:s, s:s, s:s}"
+ context = json_pack ("{s:s, s:s, s:s, s:s}"
"order_summary",
get_order_summary (god),
"refund_amount",
@@ -1129,7 +1140,7 @@ TMH_get_orders_ID (const struct TMH_RequestHandler *rh,
{
json_t *context;
- context = json_pack ("{s:O, s:s?, s:s}",
+ context = json_pack ("{s:O, s:s, s:s}",
"contract_terms",
god->contract_terms,
"order_summary",