diff options
-rw-r--r-- | src/lib/merchant_api_pay.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/merchant_api_pay.c b/src/lib/merchant_api_pay.c index 75c2384f..b0a2f0e0 100644 --- 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++) { |