merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit 46b0b7e0baba6b4d2012bbd284a69a6892b66c0a
parent 15301040f769d586d86cef6b202ac6ea4ac70e4d
Author: Florian Dold <florian.dold@gmail.com>
Date:   Wed,  4 Apr 2018 17:28:57 +0200

avoid undefined behavior

Diffstat:
Msrc/lib/merchant_api_pay.c | 4+++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/merchant_api_pay.c b/src/lib/merchant_api_pay.c @@ -132,7 +132,9 @@ check_abort_refund (struct TALER_MERCHANT_Pay *ph, } num_refunds = json_array_size (refunds); { - struct TALER_MERCHANT_RefundEntry res[num_refunds]; + /* The "+ 1" is necessary since num_refunds might be 0, and variable size arrays must + * be >0, or it's undefined behavior */ + struct TALER_MERCHANT_RefundEntry res[num_refunds + 1]; for (unsigned int i=0;i<num_refunds;i++) {