From c6e75626c93227ea1c909cf6908e5c6bdb792cec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois-Xavier=20Coudert?= Date: Wed, 18 Apr 2007 08:47:28 +0000 Subject: re PR libfortran/31286 (cshift uses uninitialized variables) PR libfortran/31286 PR libfortran/31296 * intrinsics/cshift0.c (cshift0): Initialize sstride[0] and rstride[0]. * intrinsics/unpack_generic.c (unpack0, unpack0_char): Zero the array structures we pass to unpack_internal. From-SVN: r123944 --- libgfortran/intrinsics/cshift0.c | 2 ++ libgfortran/intrinsics/unpack_generic.c | 2 ++ 2 files changed, 4 insertions(+) (limited to 'libgfortran/intrinsics') diff --git a/libgfortran/intrinsics/cshift0.c b/libgfortran/intrinsics/cshift0.c index f2c2219..2ecf30e 100644 --- a/libgfortran/intrinsics/cshift0.c +++ b/libgfortran/intrinsics/cshift0.c @@ -103,6 +103,8 @@ cshift0 (gfc_array_char * ret, const gfc_array_char * array, runtime_error ("Argument 'DIM' is out of range in call to 'CSHIFT'"); which = which - 1; + sstride[0] = 0; + rstride[0] = 0; extent[0] = 1; count[0] = 0; diff --git a/libgfortran/intrinsics/unpack_generic.c b/libgfortran/intrinsics/unpack_generic.c index 5cf9666..13166f9 100644 --- a/libgfortran/intrinsics/unpack_generic.c +++ b/libgfortran/intrinsics/unpack_generic.c @@ -209,6 +209,7 @@ unpack0 (gfc_array_char *ret, const gfc_array_char *vector, { gfc_array_char tmp; + memset (&tmp, 0, sizeof (tmp)); tmp.dtype = 0; tmp.data = field; unpack_internal (ret, vector, mask, &tmp, GFC_DESCRIPTOR_SIZE (vector), 0); @@ -228,6 +229,7 @@ unpack0_char (gfc_array_char *ret, { gfc_array_char tmp; + memset (&tmp, 0, sizeof (tmp)); tmp.dtype = 0; tmp.data = field; unpack_internal (ret, vector, mask, &tmp, vector_length, 0); -- cgit v1.1