From 23bc09fe3c2ca08ce209fffc0ad0ae3e51b06ef4 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 28 Feb 2022 20:37:19 +0100 Subject: get test-auditor and #7181 to pass --- src/pq/pq_result_helper.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/pq') diff --git a/src/pq/pq_result_helper.c b/src/pq/pq_result_helper.c index 1115a130c..68cbbcd4c 100644 --- a/src/pq/pq_result_helper.c +++ b/src/pq/pq_result_helper.c @@ -97,6 +97,20 @@ extract_amount_nbo_helper (PGresult *result, r_amount_nbo->fraction = *(uint32_t *) PQgetvalue (result, row, frac_num); + if (GNUNET_ntohll (r_amount_nbo->value) >= TALER_AMOUNT_MAX_VALUE) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Field `%s' exceeds legal range\n", + val_name); + return GNUNET_SYSERR; + } + if (ntohl (r_amount_nbo->fraction) >= TALER_AMOUNT_FRAC_BASE) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Field `%s' exceeds legal range\n", + frac_name); + return GNUNET_SYSERR; + } len = GNUNET_MIN (TALER_CURRENCY_LEN - 1, strlen (currency)); memcpy (r_amount_nbo->currency, -- cgit v1.2.3