From: Luis Machado Date: Wed, 30 Dec 2020 13:46:11 +0000 (-0300) Subject: Convert char array to std::string in linux_find_memory_regions_full X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=194210cc2467aa601652f830bd55599d183bca55;p=thirdparty%2Fbinutils-gdb.git Convert char array to std::string in linux_find_memory_regions_full This is a quick cleanup that removes the use of fixed-length char arrays and uses std::string instead. gdb/ChangeLog: 2021-03-24 Luis Machado * linux-tdep.c (linux_find_memory_regions_full): Use std::string instead of char arrays. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a5f8f6d21f8..a24f071057f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2021-05-04 Luis Machado + + Cherry-picked from GDB master + + 2021-03-24 Luis Machado + + * linux-tdep.c (linux_find_memory_regions_full): Use std::string + instead of char arrays. + 2021-04-27 Luis Machado * aarch64-tdep.c (struct stack_item_t) coredumpfilterdata - = target_fileio_read_stralloc (NULL, coredumpfilter_name); + = target_fileio_read_stralloc (NULL, core_dump_filter_name.c_str ()); + if (coredumpfilterdata != NULL) { unsigned int flags; @@ -1308,14 +1308,16 @@ linux_find_memory_regions_full (struct gdbarch *gdbarch, } } - xsnprintf (mapsfilename, sizeof mapsfilename, "/proc/%d/smaps", pid); + std::string maps_filename = string_printf ("/proc/%d/smaps", pid); + gdb::unique_xmalloc_ptr data - = target_fileio_read_stralloc (NULL, mapsfilename); + = target_fileio_read_stralloc (NULL, maps_filename.c_str ()); + if (data == NULL) { /* Older Linux kernels did not support /proc/PID/smaps. */ - xsnprintf (mapsfilename, sizeof mapsfilename, "/proc/%d/maps", pid); - data = target_fileio_read_stralloc (NULL, mapsfilename); + maps_filename = string_printf ("/proc/%d/maps", pid); + data = target_fileio_read_stralloc (NULL, maps_filename.c_str ()); } if (data != NULL) @@ -1375,7 +1377,8 @@ linux_find_memory_regions_full (struct gdbarch *gdbarch, if (sscanf (line, "%64s", keyword) != 1) { - warning (_("Error parsing {s,}maps file '%s'"), mapsfilename); + warning (_("Error parsing {s,}maps file '%s'"), + maps_filename.c_str ()); break; } @@ -1396,7 +1399,7 @@ linux_find_memory_regions_full (struct gdbarch *gdbarch, if (sscanf (line, "%*s%lu", &number) != 1) { warning (_("Error parsing {s,}maps file '%s' number"), - mapsfilename); + maps_filename.c_str ()); break; } if (number > 0)