S/390: PR83420: Improve hotpatch option parsing.
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Mon, 18 Dec 2017 11:31:06 +0000 (11:31 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Mon, 18 Dec 2017 11:31:06 +0000 (11:31 +0000)
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

gcc/ChangeLog
gcc/config/s390/s390.c

index ab682443d3aa245247984ab260fe8e7781107aa8..128374c1287a2608c77b4e3ca55e733dd3dbc1c9 100644 (file)
@@ -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
index 0b04ac026fbdd99815883f49594a5328573eca5e..6f2a1895f916402ef9f88e13922636c7fef96840 100644 (file)
@@ -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);
                }