From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31709 invoked by alias); 2 Dec 2019 21:20:36 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 31701 invoked by uid 89); 2 Dec 2019 21:20:36 -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,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: mail-wm1-f65.google.com Received: from mail-wm1-f65.google.com (HELO mail-wm1-f65.google.com) (209.85.128.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 02 Dec 2019 21:20:34 +0000 Received: by mail-wm1-f65.google.com with SMTP id s14so1130200wmh.4 for ; Mon, 02 Dec 2019 13:20:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=5/6b8WVKD5viJkTdJajzroqNyIZNRClVCc11JMFH/SU=; b=Yy/QFTcgz3WXFRQ+SCvNgf8Cf1wxG+XOc8wzKii0LjrymB0Fv+u+bC3oLd29Rq7Jsi +gT3Y2d4/REHJiRHcCFcrRHOb3MJxoU8eBvdwBhqsY2kMHCv/m50rzd2oZF6/a4gt2IH 2mdxxx/rTuKv2W1yj9el43muggtGUeSXn/ABkQskqzvKl99H5BMlow+k8IU0hiGTbi2Z t0nN7gyfo8DfSn/SNICSCzGchlMMskHojv4EIhMs18gvZs1hHB4BWFV8yxeqp6G/s3BZ JErHQprgBdmu/15mxjuNsI2qGNVadz9/QhsiQg8ZbNIb8NPJHxn7Qh4KzJeNioWJ2KCL 2tYA== Return-Path: Received: from localhost ([195.11.62.226]) by smtp.gmail.com with ESMTPSA id d16sm889308wrg.27.2019.12.02.13.20.31 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 02 Dec 2019 13:20:32 -0800 (PST) Date: Mon, 02 Dec 2019 21:20:00 -0000 From: Andrew Burgess To: "Pavel I. Kryukov" Cc: Simon Marchi , gdb-patches@sourceware.org Subject: Re: [PATCH] sim-utils.c: prevent buffer overflow. Message-ID: <20191202212031.GK3410@embecosm.com> References: <20191202100948.GJ3410@embecosm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Fortune: It is easier to change the specification to fit the program than vice versa. X-Editor: GNU Emacs [ http://www.gnu.org/software/emacs ] User-Agent: Mutt/1.9.2 (2017-12-15) X-IsSubscribed: yes X-SW-Source: 2019-12/txt/msg00062.txt.bz2 * Pavel I. Kryukov [2019-12-02 22:06:04 +0300]: > From 2d6383b7baa715d65191f0f6818ecdd8f5e8fc7d Mon Sep 17 00:00:00 2001 > From: "Pavel I. Kryukov" > Date: Sun, 1 Dec 2019 01:40:21 +0300 > Subject: [PATCH] sim-utils.c: prevent buffer overflow. > > Representation of max 32-bit integer is 10 chars. > The potential issue is observed by GCC 7 targeted to AArch64. > > sim/common/ChangeLog: > 2019-12-01 Pavel I. Kryukov > > * sim-utils.c: Prevent buffer overflow. Approved. Sorry about the xsnprintf confusion - I'd assumed that came from libiberty, my mistake. Thanks, Andrew > --- > sim/common/ChangeLog | 4 ++++ > sim/common/sim-utils.c | 8 ++++---- > 2 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog > index a7ec5c7..12d900e 100644 > --- a/sim/common/ChangeLog > +++ b/sim/common/ChangeLog > @@ -1,3 +1,7 @@ > +2019-12-01 Pavel I. Kryukov > + > + * sim-utils.c: Prevent buffer overflow. > + > 2019-09-23 Dimitar Dimitrov > > * gennltvals.sh: Add PRU libgloss target. > diff --git a/sim/common/sim-utils.c b/sim/common/sim-utils.c > index e83a2e4..0c46662 100644 > --- a/sim/common/sim-utils.c > +++ b/sim/common/sim-utils.c > @@ -355,8 +355,8 @@ map_to_str (unsigned map) > case io_map: return "io"; > default: > { > - static char str[10]; > - sprintf (str, "(%ld)", (long) map); > + static char str[16]; > + snprintf (str, sizeof(str), "(%ld)", (long) map); > return str; > } > } > @@ -385,8 +385,8 @@ access_to_str (unsigned access) > case access_read_write_exec_io: return "read_write_exec_io"; > default: > { > - static char str[10]; > - sprintf (str, "(%ld)", (long) access); > + static char str[16]; > + snprintf (str, sizeof(str), "(%ld)", (long) access); > return str; > } > } > -- > 2.7.4