aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/libgfortran/intrinsics/reshape_generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/libgfortran/intrinsics/reshape_generic.c')
-rw-r--r--gcc-4.9/libgfortran/intrinsics/reshape_generic.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc-4.9/libgfortran/intrinsics/reshape_generic.c b/gcc-4.9/libgfortran/intrinsics/reshape_generic.c
index 3b2e99487..f742051b5 100644
--- a/gcc-4.9/libgfortran/intrinsics/reshape_generic.c
+++ b/gcc-4.9/libgfortran/intrinsics/reshape_generic.c
@@ -99,11 +99,11 @@ reshape_internal (parray *ret, parray *source, shape_type *shape,
ret->offset = 0;
if (unlikely (rs < 1))
- alloc_size = 1;
+ alloc_size = 0; /* xmalloc will allocate 1 byte. */
else
- alloc_size = rs * size;
+ alloc_size = rs;
- ret->base_addr = xmalloc (alloc_size);
+ ret->base_addr = xmallocarray (alloc_size, size);
ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
}