# HG changeset patch # User jwe # Date 1189455317 0 # Node ID 037c8b622a019ecbb05383d3edda21291a423200 # Parent 62cf34f42539d13f6f1207ec18b77f4e74b5fe93 [project @ 2007-09-10 20:13:27 by jwe] diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,12 @@ +2007-09-10 John W. Eaton + + * genprops.awk: Add missing newline character at end of file. + From Alexander Klimov . + +2007-09-10 David Bateman + + * data.cc (do_cat): Avoid invalid indexing into ra_idx vector. + 2007-09-06 David Bateman * DLD-FUNCTIONS/__delaunay__.cc, DLD-FUNCRIONS/__voronoi__.cc, diff --git a/src/data.cc b/src/data.cc --- a/src/data.cc +++ b/src/data.cc @@ -759,10 +759,14 @@ if (error_state) return retval; - Array ra_idx (dv.length (), 0); + int dv_len = dv.length (); + Array ra_idx (dv_len, 0); for (int j = i; j < n_args; j++) { + if (args (j). all_zero_dims ()) + continue; + tmp = do_cat_op (tmp, args (j), ra_idx); if (error_state) @@ -770,7 +774,15 @@ dim_vector dv_tmp = args (j).dims (); - ra_idx (dim) += (dim < dv_tmp.length () ? dv_tmp (dim) : 1); + if (dim >= dv_len) + { + if (j > i) + error ("%s: indexing error", fname.c_str ()); + break; + } + else + ra_idx (dim) += (dim < dv_tmp.length () ? + dv_tmp (dim) : 1); } retval = tmp; diff --git a/src/genprops.awk b/src/genprops.awk --- a/src/genprops.awk +++ b/src/genprops.awk @@ -217,4 +217,4 @@ } else print $0; -} \ No newline at end of file +}