From: H.J. Lu Date: Sat, 29 Apr 2006 14:25:42 +0000 (+0000) Subject: re PR fortran/27351 (Use variable after free in gfc_conv_array_transpose) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c69a7fb7a6c969ff242f8ba82c52cd330e290363;p=gcc.git re PR fortran/27351 (Use variable after free in gfc_conv_array_transpose) 2006-04-29 H.J. Lu PR fortran/27351 * trans-array.c (gfc_conv_array_transpose): Move gcc_assert before gfc_conv_expr_descriptor. From-SVN: r113375 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index b64b6c792be..dcb73931010 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2006-04-29 H.J. Lu + + PR fortran/27351 + * trans-array.c (gfc_conv_array_transpose): Move gcc_assert + before gfc_conv_expr_descriptor. + 2006-04-23 Paul Thomas PR fortran/25099 diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index fcd2223d96b..a5042eadaf1 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -702,6 +702,8 @@ gfc_conv_array_transpose (gfc_se * se, gfc_expr * expr) src_info = &src_ss->data.info; dest_info = &dest_ss->data.info; + gcc_assert (dest_info->dimen == 2); + gcc_assert (src_info->dimen == 2); /* Get a descriptor for EXPR. */ gfc_init_se (&src_se, NULL); @@ -722,8 +724,6 @@ gfc_conv_array_transpose (gfc_se * se, gfc_expr * expr) /* Copy the dimension information, renumbering dimension 1 to 0 and 0 to 1. */ - gcc_assert (dest_info->dimen == 2); - gcc_assert (src_info->dimen == 2); for (n = 0; n < 2; n++) { dest_info->delta[n] = gfc_index_zero_node;