From patchwork Tue Jul 24 13:24:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Schwab X-Patchwork-Id: 28585 Received: (qmail 115075 invoked by alias); 24 Jul 2018 13:24:43 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 114696 invoked by uid 89); 24 Jul 2018 13:24:26 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mx1.suse.de From: Andreas Schwab To: libc-alpha Cc: Jeff Law , Martin Sebor Subject: [PATCH] Fix out-of-bounds access in IBM-1360 converter References: <4012c914-e051-3f6c-f604-555de0db8c69@redhat.com> X-Yow: ALFRED JARRY! Say something about th' DEATH of DISCO!! Date: Tue, 24 Jul 2018 15:24:10 +0200 In-Reply-To: <4012c914-e051-3f6c-f604-555de0db8c69@redhat.com> (Jeff Law's message of "Mon, 23 Jul 2018 21:40:44 -0600") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 The IBM-1360 converter can consume/produce two UCS4 characters in each loop. * iconvdata/ibm1364.c (MAX_NEEDED_OUTPUT) [FROM_LOOP]: Define. (MAX_NEEDED_INPUT) [TO_LOOP]: Define. Reviewed-by: Carlos O'Donell --- iconvdata/ibm1364.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/iconvdata/ibm1364.c b/iconvdata/ibm1364.c index b833273aa8..517fe60813 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