diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2017-12-18 11:31:06 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2017-12-18 11:31:06 +0000 |
commit | 4aeba1b7659603e49b8edfc0d64aa7790d2ef3fe (patch) | |
tree | 6009ec3df6192e616473d2320d2107dcb49d4f88 /gcc | |
parent | bcfaa720a25d9f3bc760a993ee1d949f68e777ef (diff) | |
download | gcc-4aeba1b7659603e49b8edfc0d64aa7790d2ef3fe.zip gcc-4aeba1b7659603e49b8edfc0d64aa7790d2ef3fe.tar.gz gcc-4aeba1b7659603e49b8edfc0d64aa7790d2ef3fe.tar.bz2 |
S/390: PR83420: Improve hotpatch option parsing.
With the attached patch we get rid of the following build failure:
/home/andreas/build/../gcc/gcc/config/s390/s390.c: In function ‘void
s390_option_override()’:
/home/andreas/build/../gcc/gcc/config/s390/s390.c:15361:16: error: ‘char*
strncpy(char*, const char*, size_t)’ specified bound 256 equals destination
size [-Werror=stringop-truncation]
strncpy (s, opt->arg, 256);
~~~~~~~~^~~~~~~~~~~~~~~~~~
gcc/ChangeLog:
2017-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/83420
* config/s390/s390.c (s390_option_override): Avoid strncpy.
From-SVN: r255777
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/s390/s390.c | 9 |
2 files changed, 7 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ab68244..128374c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> + + PR target/83420 + * config/s390/s390.c (s390_option_override): Avoid strncpy. + 2017-12-18 Richard Biener <rguenther@suse.de> PR tree-optimization/81877 diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 0b04ac0..6f2a189 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -15357,16 +15357,11 @@ s390_option_override (void) { int val1; int val2; - char s[256]; - char *t; + char *s = strtok (ASTRDUP (opt->arg), ","); + char *t = strtok (NULL, "\0"); - strncpy (s, opt->arg, 256); - s[255] = 0; - t = strchr (s, ','); if (t != NULL) { - *t = 0; - t++; val1 = integral_argument (s); val2 = integral_argument (t); } |