[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 16/31] gdbstub: Use g_markup_printf_escaped()
From: |
Alex Bennée |
Subject: |
[PATCH 16/31] gdbstub: Use g_markup_printf_escaped() |
Date: |
Mon, 25 Sep 2023 15:48:39 +0100 |
From: Akihiko Odaki <akihiko.odaki@daynix.com>
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>
---
gdbstub/gdbstub.c | 36 +++++++++++++++++++++---------------
1 file changed, 21 insertions(+), 15 deletions(-)
diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c
index 9db4af41c1..a4f2bf3723 100644
--- a/gdbstub/gdbstub.c
+++ b/gdbstub/gdbstub.c
@@ -373,28 +373,34 @@ static const char *get_feature_xml(const char *p, const
char **newp,
if (strncmp(p, "target.xml", len) == 0) {
if (!process->target_xml) {
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,
- "<!DOCTYPE target SYSTEM \"gdb-target.dtd\">"
- "<target>");
+ g_ptr_array_add(
+ xml,
+ g_strdup("<?xml version=\"1.0\"?>"
+ "<!DOCTYPE target SYSTEM \"gdb-target.dtd\">"
+ "<target>"));
if (cc->gdb_arch_name) {
- g_string_append_printf(xml,
- "<architecture>%s</architecture>",
- cc->gdb_arch_name(cpu));
+ g_ptr_array_add(
+ xml,
+ g_markup_printf_escaped("<architecture>%s</architecture>",
+ cc->gdb_arch_name(cpu)));
}
- g_string_append(xml, "<xi:include href=\"");
- g_string_append(xml, cc->gdb_core_xml_file);
- g_string_append(xml, "\"/>");
+ g_ptr_array_add(
+ xml,
+ g_markup_printf_escaped("<xi:include href=\"%s\"/>",
+ cc->gdb_core_xml_file));
for (r = cpu->gdb_regs; r; r = r->next) {
- g_string_append(xml, "<xi:include href=\"");
- g_string_append(xml, r->xml);
- g_string_append(xml, "\"/>");
+ g_ptr_array_add(
+ 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;
}
--
2.39.2
- [PATCH 08/31] configure: ensure dependency for cross-compile setup, (continued)
- [PATCH 08/31] configure: ensure dependency for cross-compile setup, Alex Bennée, 2023/09/25
- [PATCH 13/31] gdbstub: Introduce GDBFeature structure, Alex Bennée, 2023/09/25
- [PATCH 14/31] target/arm: Move the reference to arm-core.xml, Alex Bennée, 2023/09/25
- [PATCH 15/31] hw/core/cpu: Return static value with gdb_arch_name(), Alex Bennée, 2023/09/25
- [PATCH 11/31] plugins: Check if vCPU is realized, Alex Bennée, 2023/09/25
- [PATCH 19/31] gdbstub: Remove gdb_has_xml variable, Alex Bennée, 2023/09/25
- [PATCH 23/31] plugins: Set final instruction count in plugin_gen_tb_end, Alex Bennée, 2023/09/25
- [RFC PATCH 29/31] sysemu: generalise qtest_warp_clock as qemu_clock_advance_virtual_time, Alex Bennée, 2023/09/25
- [RFC PATCH 27/31] sysemu: add set_virtual_time to accel ops, Alex Bennée, 2023/09/25
- [PATCH 21/31] accel/tcg: Add plugin_enabled to DisasContextBase, Alex Bennée, 2023/09/25
- [PATCH 16/31] gdbstub: Use g_markup_printf_escaped(),
Alex Bennée <=
- [PATCH 25/31] contrib/plugins: fix coverity warning in lockstep, Alex Bennée, 2023/09/25
- [RFC PATCH 31/31] contrib/plugins: add iops plugin example for cost modelling, Alex Bennée, 2023/09/25
- [PATCH 18/31] target/ppc: Remove references to gdb_has_xml, Alex Bennée, 2023/09/25
- [RFC PATCH 30/31] plugins: add time control API, Alex Bennée, 2023/09/25
- [PATCH 22/31] target/sh4: Disable decode_gusa when plugins enabled, Alex Bennée, 2023/09/25
- [PATCH 20/31] gdbstub: Replace gdb_regs with an array, Alex Bennée, 2023/09/25
- [RFC PATCH 28/31] qtest: use cpu interface in qtest_clock_warp, Alex Bennée, 2023/09/25
- [PATCH 24/31] contrib/plugins: fix coverity warning in cache, Alex Bennée, 2023/09/25
- [PATCH 26/31] contrib/plugins: fix coverity warning in hotblocks, Alex Bennée, 2023/09/25
- [PATCH 17/31] target/arm: Remove references to gdb_has_xml, Alex Bennée, 2023/09/25