[binutils-gdb] Use ARRAY_SIZE in ax-general.c

Tom Tromey tromey@sourceware.org
Tue Jun 20 18:02:48 GMT 2023


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=00a854287778c852191df9f9815c5d601daa5ae1

commit 00a854287778c852191df9f9815c5d601daa5ae1
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jun 20 11:11:06 2023 -0600

    Use ARRAY_SIZE in ax-general.c
    
    This changes a couple of spots in ax-general.c to use ARRAY_SIZE.
    While making this change, I noticed that one of the bounds checks was
    incorrect.
    
    Reviewed-by: John Baldwin <jhb@FreeBSD.org>

Diff:
---
 gdb/ax-general.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gdb/ax-general.c b/gdb/ax-general.c
index 4ace2b490c0..3c724a0e38b 100644
--- a/gdb/ax-general.c
+++ b/gdb/ax-general.c
@@ -353,8 +353,7 @@ ax_print (struct ui_file *f, struct agent_expr *x)
     {
       enum agent_op op = (enum agent_op) x->buf[i];
 
-      if (op >= (sizeof (aop_map) / sizeof (aop_map[0]))
-	  || !aop_map[op].name)
+      if (op >= ARRAY_SIZE (aop_map) || aop_map[op].name == nullptr)
 	{
 	  gdb_printf (f, _("%3d  <bad opcode %02x>\n"), i, op);
 	  i++;
@@ -454,7 +453,7 @@ ax_reqs (struct agent_expr *ax)
 
   for (i = 0; i < ax->buf.size (); i += 1 + op->op_size)
     {
-      if (ax->buf[i] > (sizeof (aop_map) / sizeof (aop_map[0])))
+      if (ax->buf[i] >= ARRAY_SIZE (aop_map))
 	{
 	  ax->flaw = agent_flaw_bad_instruction;
 	  return;


More information about the Gdb-cvs mailing list