This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] use xstrdup and concat more
- From: Alan Modra <amodra at gmail dot com>
- To: tbsaunde+binutils at tbsaunde dot org
- Cc: binutils at sourceware dot org
- Date: Mon, 25 Apr 2016 22:31:36 +0930
- Subject: Re: [PATCH] use xstrdup and concat more
- Authentication-results: sourceware.org; auth=none
- References: <1461483896-3190-1-git-send-email-tbsaunde+binutils at tbsaunde dot org>
On Sun, Apr 24, 2016 at 03:44:56AM -0400, tbsaunde+binutils@tbsaunde.org wrote:
> --- a/gas/config/obj-elf.c
> +++ b/gas/config/obj-elf.c
> @@ -949,9 +949,7 @@ obj_elf_section_name (void)
> return NULL;
> }
>
> - name = (char *) xmalloc (end - input_line_pointer + 1);
> - memcpy (name, input_line_pointer, end - input_line_pointer);
> - name[end - input_line_pointer] = '\0';
> + name = xstrndup (input_line_pointer, end - input_line_pointer);
>
> while (flag_sectname_subst)
> {
Is this a good idea, here, and in other places where the original uses
memcpy and strlen was not called to find the string length? I'm
thinking that xstrndup will be needlessly calling strlen.
Hmm, maybe use xmemdup? Mind you, the xmemdup implementation isn't
ideal due to zeroing with xcalloc, but that could be fixed.
--
Alan Modra
Australia Development Lab, IBM