mirror of https://github.com/xemu-project/xemu.git
gdbstub: Use g_markup_printf_escaped()
g_markup_printf_escaped() is a safer alternative to simple printf() as it automatically escapes values. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Message-Id: <20230912224107.29669-9-akihiko.odaki@daynix.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20231009164104.369749-16-alex.bennee@linaro.org>
This commit is contained in:
parent
a650683871
commit
6d8f77a6a1
|
@ -373,28 +373,34 @@ static const char *get_feature_xml(const char *p, const char **newp,
|
||||||
if (strncmp(p, "target.xml", len) == 0) {
|
if (strncmp(p, "target.xml", len) == 0) {
|
||||||
if (!process->target_xml) {
|
if (!process->target_xml) {
|
||||||
GDBRegisterState *r;
|
GDBRegisterState *r;
|
||||||
GString *xml = g_string_new("<?xml version=\"1.0\"?>");
|
g_autoptr(GPtrArray) xml = g_ptr_array_new_with_free_func(g_free);
|
||||||
|
|
||||||
g_string_append(xml,
|
g_ptr_array_add(
|
||||||
"<!DOCTYPE target SYSTEM \"gdb-target.dtd\">"
|
xml,
|
||||||
"<target>");
|
g_strdup("<?xml version=\"1.0\"?>"
|
||||||
|
"<!DOCTYPE target SYSTEM \"gdb-target.dtd\">"
|
||||||
|
"<target>"));
|
||||||
|
|
||||||
if (cc->gdb_arch_name) {
|
if (cc->gdb_arch_name) {
|
||||||
g_string_append_printf(xml,
|
g_ptr_array_add(
|
||||||
"<architecture>%s</architecture>",
|
xml,
|
||||||
cc->gdb_arch_name(cpu));
|
g_markup_printf_escaped("<architecture>%s</architecture>",
|
||||||
|
cc->gdb_arch_name(cpu)));
|
||||||
}
|
}
|
||||||
g_string_append(xml, "<xi:include href=\"");
|
g_ptr_array_add(
|
||||||
g_string_append(xml, cc->gdb_core_xml_file);
|
xml,
|
||||||
g_string_append(xml, "\"/>");
|
g_markup_printf_escaped("<xi:include href=\"%s\"/>",
|
||||||
|
cc->gdb_core_xml_file));
|
||||||
for (r = cpu->gdb_regs; r; r = r->next) {
|
for (r = cpu->gdb_regs; r; r = r->next) {
|
||||||
g_string_append(xml, "<xi:include href=\"");
|
g_ptr_array_add(
|
||||||
g_string_append(xml, r->xml);
|
xml,
|
||||||
g_string_append(xml, "\"/>");
|
g_markup_printf_escaped("<xi:include href=\"%s\"/>",
|
||||||
|
r->xml));
|
||||||
}
|
}
|
||||||
g_string_append(xml, "</target>");
|
g_ptr_array_add(xml, g_strdup("</target>"));
|
||||||
|
g_ptr_array_add(xml, NULL);
|
||||||
|
|
||||||
process->target_xml = g_string_free(xml, false);
|
process->target_xml = g_strjoinv(NULL, (void *)xml->pdata);
|
||||||
}
|
}
|
||||||
return process->target_xml;
|
return process->target_xml;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue