[PATCH] use xstrdup and concat more

Alan Modra amodra@gmail.com
Mon Apr 25 13:01:00 GMT 2016


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



More information about the Binutils mailing list