From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1586) id 708A43858D37; Wed, 1 Feb 2023 21:33:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 708A43858D37 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1675287182; bh=+hEIpkuaoswCVNFgAf5LTNkr0619nZO4kEpK+IEPx/Q=; h=From:To:Subject:Date:From; b=qANjlCdnQb6VKBNCZsGswzDT5QsdY7jJshYQAce0qh00INTP0CNGB43STVZ7JHmS+ tDOLI6gw4Udv2gQoZHg+pt20NT1tG0ldEfur3MRW+5CgV5QbyBdvg+44xQfblPFuhf Sy1xGZKElgPtybzjIkZAd+amBl+0tZFoRGnUIOUs= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Thiago Bauermann To: gdb-cvs@sourceware.org Subject: [binutils-gdb] gdbserver: Add assert in find_register_by_number X-Act-Checkin: binutils-gdb X-Git-Author: Thiago Jung Bauermann X-Git-Refname: refs/heads/master X-Git-Oldrev: cded17bfca35566fa4d36e9ec06fa071bd7dab17 X-Git-Newrev: cbd02f9fa521a6cb21c04b15ee7671c8bb4be55b Message-Id: <20230201213302.708A43858D37@sourceware.org> Date: Wed, 1 Feb 2023 21:33:02 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3Dcbd02f9fa521= a6cb21c04b15ee7671c8bb4be55b commit cbd02f9fa521a6cb21c04b15ee7671c8bb4be55b Author: Thiago Jung Bauermann Date: Tue Aug 16 17:18:47 2022 +0000 gdbserver: Add assert in find_register_by_number =20 It helped me during development, catching bugs closer to when they actu= ally happened. =20 Also remove the equivalent gdb_assert in regcache_raw_read_unsigned, si= nce it's checking the same condition a few frames above. =20 Suggested-By: Simon Marchi Approved-By: Simon Marchi Diff: --- gdbserver/regcache.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gdbserver/regcache.cc b/gdbserver/regcache.cc index 3aeefcc79a3..0b1141662ac 100644 --- a/gdbserver/regcache.cc +++ b/gdbserver/regcache.cc @@ -199,6 +199,9 @@ regcache_cpy (struct regcache *dst, struct regcache *sr= c) static const struct gdb::reg & find_register_by_number (const struct target_desc *tdesc, int n) { + gdb_assert (n >=3D 0); + gdb_assert (n < tdesc->reg_defs.size ()); + return tdesc->reg_defs[n]; } =20 @@ -440,8 +443,6 @@ regcache_raw_read_unsigned (struct regcache *regcache, = int regnum, int size; =20 gdb_assert (regcache !=3D NULL); - gdb_assert (regnum >=3D 0 - && regnum < regcache->tdesc->reg_defs.size ()); =20 size =3D register_size (regcache->tdesc, regnum);