diff options
author | Andreas Schwab <schwab@suse.de> | 2018-07-24 14:08:34 +0200 |
---|---|---|
committer | Andreas Schwab <schwab@suse.de> | 2018-07-24 16:45:46 +0200 |
commit | 21526a507df8f1b2e37492193a754534d8938c0b (patch) | |
tree | 671add0112e2ece06dbfb8dab75dfc25b7e157b1 | |
parent | 3650e1d9284926be67e368707a9a2276fb77a167 (diff) | |
download | glibc-21526a507df8f1b2e37492193a754534d8938c0b.zip glibc-21526a507df8f1b2e37492193a754534d8938c0b.tar.gz glibc-21526a507df8f1b2e37492193a754534d8938c0b.tar.bz2 |
Fix out-of-bounds access in IBM-1390 converter (bug 23448)
The IBM-1390 converter can consume/produce two UCS4 characters in each
loop.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | iconvdata/ibm1364.c | 2 |
2 files changed, 8 insertions, 0 deletions
@@ -1,3 +1,9 @@ +2018-07-24 Andreas Schwab <schwab@suse.de> + + [BZ #23448] + * iconvdata/ibm1364.c (MAX_NEEDED_OUTPUT) [FROM_LOOP]: Define. + (MAX_NEEDED_INPUT) [TO_LOOP]: Define. + 2018-07-24 H.J. Lu <hongjiu.lu@intel.com> * sysdeps/unix/sysv/linux/i386/vfork.S (SYSCALL_ERROR_HANDLER): diff --git a/iconvdata/ibm1364.c b/iconvdata/ibm1364.c index b833273..517fe60 100644 --- a/iconvdata/ibm1364.c +++ b/iconvdata/ibm1364.c @@ -150,6 +150,7 @@ enum #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 #define BODY \ { \ @@ -296,6 +297,7 @@ enum /* Next, define the other direction. */ #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 |