From 5d5b640e00fd8d48d15cd3b8118ca281055ada9b Mon Sep 17 00:00:00 2001
From: Pedro Alves <palves@redhat.com>
Date: Thu, 11 Feb 2010 23:03:22 +0000
Subject: [PATCH] 	* ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]:
 Error out if 	the offset value isn't of integral type.

---
 gdb/ChangeLog | 5 +++++
 gdb/ax-gdb.c  | 3 +++
 2 files changed, 8 insertions(+)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 17753a99d67..c26c0225274 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-11  Pedro Alves  <pedro@codesourcery.com>
+
+	* ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]: Error out if
+	the offset value isn't of integral type.
+
 2010-02-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
 	* breakpoint.c (delete_breakpoint) <bpt->related_breakpoint != NULL>:
diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c
index 75aa7ca62b2..3e151deccfb 100644
--- a/gdb/ax-gdb.c
+++ b/gdb/ax-gdb.c
@@ -1910,6 +1910,9 @@ cannot subscript requested type: cannot call user defined functions"));
 	      }
 	  }
 
+	if (!is_integral_type (value2->type))
+	  error (_("Argument to arithmetic operation not a number or boolean."));
+
 	gen_ptradd (ax, value, value1, value2);
 	gen_deref (ax, value);
 	break;
-- 
GitLab