[pushed] Fix off-by-one error

Tom Tromey tom@tromey.com
Fri Jun 23 02:36:21 GMT 2023


Simon pointed out that commit a2bbca9fa5e ("Use std::vector<bool> for
agent_expr::reg_mask") caused a regression in libstdc++ debug mode.
This was due to an off-by-one error in a vector resize.  This patch
fixes the problem.
---
 gdb/ax-general.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/ax-general.c b/gdb/ax-general.c
index 3c724a0e38b..26a27a0bcad 100644
--- a/gdb/ax-general.c
+++ b/gdb/ax-general.c
@@ -414,7 +414,7 @@ ax_reg_mask (struct agent_expr *ax, int reg)
 
       /* Grow the bit mask if necessary.  */
       if (reg >= ax->reg_mask.size ())
-	ax->reg_mask.resize (reg);
+	ax->reg_mask.resize (reg + 1);
 
       ax->reg_mask[reg] = true;
     }
-- 
2.39.2



More information about the Gdb-patches mailing list