From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1386) id DCF9D3858D39; Wed, 19 Apr 2023 09:43:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DCF9D3858D39 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Jan Beulich To: bfd-cvs@sourceware.org Subject: [binutils-gdb] x86: parse_real_register() does not alter the parsed string X-Act-Checkin: binutils-gdb X-Git-Author: Jan Beulich X-Git-Refname: refs/heads/master X-Git-Oldrev: e185530b58d0bb805531455f5b65524ea7e762c6 X-Git-Newrev: 74e05e01e2de46dc817d747c646421125e59d6b1 Message-Id: <20230419094358.DCF9D3858D39@sourceware.org> Date: Wed, 19 Apr 2023 09:43:58 +0000 (GMT) X-BeenThere: binutils-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Apr 2023 09:43:59 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D74e05e01e2de= 46dc817d747c646421125e59d6b1 commit 74e05e01e2de46dc817d747c646421125e59d6b1 Author: Jan Beulich Date: Wed Apr 19 11:42:51 2023 +0200 x86: parse_real_register() does not alter the parsed string =20 Follow the model of strtol() et al - input string is const-qualified to signal that the string isn't altered, but the returned "end" pointer is not const-qualified, requiring const to be cast away (which generally is a bad idea, but the alternative would be more convoluted code). Diff: --- gas/config/tc-i386.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index ea5705da4af..063c9705ddd 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -13750,9 +13750,9 @@ static bool check_register (const reg_entry *r) /* REG_STRING starts *before* REGISTER_PREFIX. */ =20 static const reg_entry * -parse_real_register (char *reg_string, char **end_op) +parse_real_register (const char *reg_string, char **end_op) { - char *s =3D reg_string; + const char *s =3D reg_string; char *p; char reg_name_given[MAX_REG_NAME_SIZE + 1]; const reg_entry *r; @@ -13775,7 +13775,7 @@ parse_real_register (char *reg_string, char **end_o= p) if (is_part_of_name (*s)) return (const reg_entry *) NULL; =20 - *end_op =3D s; + *end_op =3D (char *) s; =20 r =3D (const reg_entry *) str_hash_find (reg_hash, reg_name_given); =20 @@ -13803,7 +13803,7 @@ parse_real_register (char *reg_string, char **end_o= p) ++s; if (*s =3D=3D ')') { - *end_op =3D s + 1; + *end_op =3D (char *) s + 1; know (r[fpr].reg_num =3D=3D fpr); return r + fpr; }