diff options
author | Qing Zhao <qing.zhao@oracle.com> | 2017-12-01 18:20:45 +0000 |
---|---|---|
committer | Qing Zhao <qinzhao@gcc.gnu.org> | 2017-12-01 18:20:45 +0000 |
commit | 8a302cb2b3cfc170254cf1d9fdc4dc2a681c15d1 (patch) | |
tree | 65d9d16c972bc2eba06f6d93d62de63d0cc097c9 /gcc | |
parent | 1cde289f1cf4d06815dbef089e969f7be0294178 (diff) | |
download | gcc-8a302cb2b3cfc170254cf1d9fdc4dc2a681c15d1.zip gcc-8a302cb2b3cfc170254cf1d9fdc4dc2a681c15d1.tar.gz gcc-8a302cb2b3cfc170254cf1d9fdc4dc2a681c15d1.tar.bz2 |
Fix an undefined behavior in fortran/decl.c
From-SVN: r255332
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/decl.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index b7f8a58..e5865dc 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2017-12-01 Qing Zhao <qing.zhao@oracle.com> + + * decl.c (gfc_get_pdt_instance): Adjust the call to sprintf + to avoid the same buffer being both source and destination. + 2017-12-01 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83224 diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index 67e1c5b..d46083c 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -3362,7 +3362,7 @@ gfc_get_pdt_instance (gfc_actual_arglist *param_list, gfc_symbol **sym, } gfc_extract_int (kind_expr, &kind_value); - sprintf (name, "%s_%d", name, kind_value); + sprintf (name + strlen (name), "_%d", kind_value); if (!name_seen && actual_param) actual_param = actual_param->next; |