S390: Fix build error with gcc6 in utf8_utf16-z9.c.
authorStefan Liebler <stli@linux.vnet.ibm.com>
Wed, 26 Aug 2015 08:26:26 +0000 (10:26 +0200)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Wed, 26 Aug 2015 08:26:26 +0000 (10:26 +0200)
This patch fixes the build error with gcc6:
array subscript is above array bounds [-Werror=array-bounds]

While including loop.c to construct the SINGLE(LOOPFCT) method
for converting from UTF-16 to UTF-8, the bytebuf array with length
MAX_NEEDED_INPUT is used as inptr. MAX_NEEDED_INPUT defaults to
MIN_NEEDED_INPUT if not defined before including loop.c.
Thus bytebuf has a length of 2.
This patch defines MAX_NEEDED_INPUT to MAX_NEEDED_TO, which is 4.

ChangeLog:

* sysdeps/s390/s390-64/utf8-utf16-z9.c
(MAX_NEEDED_INPUT): New define.
(MAX_NEEDED_OUTPUT): New define.

ChangeLog
sysdeps/s390/s390-64/utf8-utf16-z9.c

index 8738516..ea5367c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2015-08-26  Stefan Liebler  <stli@linux.vnet.ibm.com>
 
+       * sysdeps/s390/s390-64/utf8-utf16-z9.c
+       (MAX_NEEDED_INPUT): New define.
+       (MAX_NEEDED_OUTPUT): New define.
+
+2015-08-26  Stefan Liebler  <stli@linux.vnet.ibm.com>
+
        * NEWS: New item for IBM z13 string optimizations.
 
 2015-08-26  Stefan Liebler  <stli@linux.vnet.ibm.com>
index 1425cb1..6712c1c 100644 (file)
@@ -183,6 +183,7 @@ gconv_end (struct __gconv_step *data)
 #define MIN_NEEDED_INPUT       MIN_NEEDED_FROM
 #define MAX_NEEDED_INPUT       MAX_NEEDED_FROM
 #define MIN_NEEDED_OUTPUT      MIN_NEEDED_TO
+#define MAX_NEEDED_OUTPUT      MAX_NEEDED_TO
 #define LOOPFCT                        FROM_LOOP
 /* The software implementation is based on the code in gconv_simple.c.  */
 #define BODY                                                           \
@@ -340,6 +341,7 @@ gconv_end (struct __gconv_step *data)
 /* Conversion from UTF-16 to UTF-8.  */
 
 #define MIN_NEEDED_INPUT       MIN_NEEDED_TO
+#define MAX_NEEDED_INPUT       MAX_NEEDED_TO
 #define MIN_NEEDED_OUTPUT      MIN_NEEDED_FROM
 #define MAX_NEEDED_OUTPUT      MAX_NEEDED_FROM
 #define LOOPFCT                        TO_LOOP