From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2126) id CCB4D3857C4E; Fri, 22 Apr 2022 15:22:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CCB4D3857C4E Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Tom Tromey To: gdb-cvs@sourceware.org Subject: [binutils-gdb] More const use and alloca avoidance in coff-pe-read.c X-Act-Checkin: binutils-gdb X-Git-Author: Tom Tromey X-Git-Refname: refs/heads/master X-Git-Oldrev: 0f34437ba0f5acab1fcb05630d88057402abbfeb X-Git-Newrev: 8095d37f71c20dd9e6cb90d4f42fb868867263ed Message-Id: <20220422152236.CCB4D3857C4E@sourceware.org> Date: Fri, 22 Apr 2022 15:22:36 +0000 (GMT) X-BeenThere: gdb-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Apr 2022 15:22:36 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D8095d37f71c2= 0dd9e6cb90d4f42fb868867263ed commit 8095d37f71c20dd9e6cb90d4f42fb868867263ed Author: Tom Tromey Date: Tue Apr 19 07:41:44 2022 -0600 More const use and alloca avoidance in coff-pe-read.c =20 This changes another function in coff-pe-read.c to use 'const' more, and to avoid the use of alloca by instead using std::string. Diff: --- gdb/coff-pe-read.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/gdb/coff-pe-read.c b/gdb/coff-pe-read.c index 5bf0e2dc7f0..d533a96ef6d 100644 --- a/gdb/coff-pe-read.c +++ b/gdb/coff-pe-read.c @@ -525,20 +525,20 @@ read_pe_exported_syms (minimal_symbol_reader &reader, /* First handle forward cases. */ if (func_rva >=3D export_rva && func_rva < export_rva + export_size) { - char *forward_name =3D (char *) (erva + func_rva); - char *funcname =3D (char *) (erva + name_rva); - char *forward_dll_name =3D forward_name; - char *forward_func_name =3D forward_name; - char *sep =3D strrchr (forward_name, '.'); - - if (sep) + const char *forward_name =3D (const char *) (erva + func_rva); + const char *funcname =3D (const char *) (erva + name_rva); + const char *forward_dll_name =3D forward_name; + const char *forward_func_name =3D forward_name; + const char *sep =3D strrchr (forward_name, '.'); + + std::string name_storage; + if (sep !=3D nullptr) { int len =3D (int) (sep - forward_name); =20 - forward_dll_name =3D (char *) alloca (len + 1); - strncpy (forward_dll_name, forward_name, len); - forward_dll_name[len] =3D '\0'; - forward_func_name =3D ++sep; + name_storage =3D std::string (forward_name, len); + forward_dll_name =3D name_storage.c_str (); + forward_func_name =3D sep + 1; } if (add_pe_forwarded_sym (reader, funcname, forward_dll_name, forward_func_name, ordinal, @@ -552,7 +552,7 @@ read_pe_exported_syms (minimal_symbol_reader &reader, if ((func_rva >=3D section_data[sectix].rva_start) && (func_rva < section_data[sectix].rva_end)) { - char *sym_name =3D (char *) (erva + name_rva); + const char *sym_name =3D (const char *) (erva + name_rva); =20 section_found =3D 1; add_pe_exported_sym (reader, sym_name, func_rva, ordinal, @@ -563,7 +563,7 @@ read_pe_exported_syms (minimal_symbol_reader &reader, } if (!section_found) { - char *funcname =3D (char *) (erva + name_rva); + const char *funcname =3D (const char *) (erva + name_rva); =20 if (name_rva =3D=3D 0) {