]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gdbsupport: Use xsnprintf() instead of strcat() in print-utils
authorAleksandar Rikalo <arikalo@gmail.com>
Fri, 20 Jun 2025 07:08:07 +0000 (09:08 +0200)
committerPedro Alves <pedro@palves.net>
Fri, 20 Jun 2025 19:11:03 +0000 (20:11 +0100)
Theoretically, in functions core_addr_to_string_nz() and
core_addr_to_string(), strcat() can overflow, so use a safe
approach using xsnprintf().

Change-Id: Ib9437450b3634dc35077234f462a03a8640242d4

gdbsupport/print-utils.cc

index a798713b2484e0015a6a91f7a874741264431774..8514720d96319b16f4cb019456f262a85c79c28e 100644 (file)
@@ -304,8 +304,7 @@ core_addr_to_string (const CORE_ADDR addr)
 {
   char *str = get_print_cell ();
 
-  strcpy (str, "0x");
-  strcat (str, phex (addr));
+  xsnprintf (str, PRINT_CELL_SIZE, "0x%s", phex (addr));
   return str;
 }
 
@@ -316,8 +315,7 @@ core_addr_to_string_nz (const CORE_ADDR addr)
 {
   char *str = get_print_cell ();
 
-  strcpy (str, "0x");
-  strcat (str, phex_nz (addr));
+  xsnprintf (str, PRINT_CELL_SIZE, "0x%s", phex_nz (addr));
   return str;
 }