mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-23 13:21:43 +08:00
Fix gdb_xml_debug/gdb_xml_error ATTRIBUTE_PRINTF use
The declarations of gdb_xml_debug and gdb_xml_error are passing "0" as "first-to-check" argument to ATTRIBUTE_PRINTF, as if they were va_args functions. Consequently, the arguments to gdb_xml_debug / gdb_xml_error aren't being checked against the format strings. With that fixed, a couple obvious bugs are exposed, both fixed by this commit. gdb/ChangeLog: 2017-03-27 Pedro Alves <palves@redhat.com> * xml-support.h (gdb_xml_debug): Pass a "first-to-check" argument to ATTRIBUTE_PRINTF. * solib-target.c (library_list_start_list): Print "string" not "version". * xml-tdesc.c (tdesc_start_field): Pass "field_name" to gdb_xml_error call.
This commit is contained in:
parent
9b75393746
commit
210477268d
@ -1,3 +1,12 @@
|
||||
2017-03-27 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* xml-support.h (gdb_xml_debug): Pass a "first-to-check" argument
|
||||
to ATTRIBUTE_PRINTF.
|
||||
* solib-target.c (library_list_start_list): Print "string" not
|
||||
"version".
|
||||
* xml-tdesc.c (tdesc_start_field): Pass "field_name" to
|
||||
gdb_xml_error call.
|
||||
|
||||
2017-03-27 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* dwarf2read.c (struct file_and_directory): New.
|
||||
|
@ -159,7 +159,7 @@ library_list_start_list (struct gdb_xml_parser *parser,
|
||||
if (strcmp (string, "1.0") != 0)
|
||||
gdb_xml_error (parser,
|
||||
_("Library list has unsupported version \"%s\""),
|
||||
version);
|
||||
string);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -200,13 +200,13 @@ int gdb_xml_parse_quick (const char *name, const char *dtd_name,
|
||||
/* Issue a debugging message from one of PARSER's handlers. */
|
||||
|
||||
void gdb_xml_debug (struct gdb_xml_parser *parser, const char *format, ...)
|
||||
ATTRIBUTE_PRINTF (2, 0);
|
||||
ATTRIBUTE_PRINTF (2, 3);
|
||||
|
||||
/* Issue an error message from one of PARSER's handlers, and stop
|
||||
parsing. */
|
||||
|
||||
void gdb_xml_error (struct gdb_xml_parser *parser, const char *format, ...)
|
||||
ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 0);
|
||||
ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 3);
|
||||
|
||||
/* Find the attribute named NAME in the set of parsed attributes
|
||||
ATTRIBUTES. Returns NULL if not found. */
|
||||
|
@ -413,8 +413,8 @@ tdesc_start_field (struct gdb_xml_parser *parser,
|
||||
gdb_xml_error (parser, _("Bitfield \"%s\" has start after end"),
|
||||
field_name);
|
||||
if (end >= data->current_type_size * TARGET_CHAR_BIT)
|
||||
gdb_xml_error (parser,
|
||||
_("Bitfield \"%s\" does not fit in struct"));
|
||||
gdb_xml_error (parser, _("Bitfield \"%s\" does not fit in struct"),
|
||||
field_name);
|
||||
|
||||
if (field_type != NULL)
|
||||
tdesc_add_typed_bitfield (t, field_name, start, end, field_type);
|
||||
|
Loading…
Reference in New Issue
Block a user