From 64a1bf195752a461f0e44b853a1e2769d182de3b Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Tue, 14 Aug 2007 20:16:18 +0000 Subject: * ada-lang.c (field_alignment): Guard against NULL. --- gdb/ChangeLog | 5 +++++ gdb/ada-lang.c | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'gdb') diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 581c8d5..b8d2139 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,4 +1,9 @@ 2007-08-14 Joel Brobecker + Michael Snyder + + * ada-lang.c (field_alignment): Guard against NULL. + +2007-08-14 Joel Brobecker * MAINTAINERS (Global Maintainers): Add self. diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 0a27ba0..4b1e292 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -6116,9 +6116,17 @@ static unsigned int field_alignment (struct type *type, int f) { const char *name = TYPE_FIELD_NAME (type, f); - int len = (name == NULL) ? 0 : strlen (name); + int len; int align_offset; + /* The field name should never be null, unless the debugging information + is somehow malformed. In this case, we assume the field does not + require any alignment. */ + if (name == NULL) + return 1; + + len = strlen (name); + if (!isdigit (name[len - 1])) return 1; -- cgit v1.1