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:
Pedro Alves
2017-03-27 12:28:03 +01:00
parent 9b75393746
commit 210477268d
4 changed files with 14 additions and 5 deletions

View File

@ -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. */