From f13aaac2d7059359140f640d5e0216a219f0a3d7 Mon Sep 17 00:00:00 2001 From: Nelson Ferreira Date: Fri, 16 Sep 2011 03:32:15 -0400 Subject: [PATCH] Make sure that the args array is initialized CID:394 Signed-off-by: Nelson Ferreira --- modules/ase/ase-interval.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/modules/ase/ase-interval.c b/modules/ase/ase-interval.c index 777fdff..6c3c850 100644 --- a/modules/ase/ase-interval.c +++ b/modules/ase/ase-interval.c @@ -3042,23 +3042,26 @@ static Lisp_Object __ase_interval_union_rational(ase_interval_union_item_t u) { int i = 0, nargs = __ase_interval_union_update_rational(u); - Lisp_Object args[nargs]; - if (nargs == 0) return Qzero; - - while (u) { - if (ASE_INTERVALP(u->current)) { - args[i] = _ase_interval_rational( - XASE_INTERVAL(u->current)); - } else if (ASE_INTERVAL_INTERIOR_P(u->current)) { - args[i] = _ase_interval_interior_rational( - XASE_CARTESIAN(u->current)); + { + Lisp_Object args[nargs]; + for ( i = nargs; i > 0; ) + args[--i] = Qnil; + + while (u) { + if (ASE_INTERVALP(u->current)) { + args[i] = _ase_interval_rational( + XASE_INTERVAL(u->current)); + } else if (ASE_INTERVAL_INTERIOR_P(u->current)) { + args[i] = _ase_interval_interior_rational( + XASE_CARTESIAN(u->current)); + } + i++; + u = u->next; } - i++; - u = u->next; + return ent_binop_many(ASE_BINARY_OP_SUM, nargs, args); } - return ent_binop_many(ASE_BINARY_OP_SUM, nargs, args); } static inline void -- 2.25.1