commit 46b0b7e0baba6b4d2012bbd284a69a6892b66c0a parent 15301040f769d586d86cef6b202ac6ea4ac70e4d Author: Florian Dold <florian.dold@gmail.com> Date: Wed, 4 Apr 2018 17:28:57 +0200 avoid undefined behavior Diffstat:
| M | src/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++) {