This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: strcpy -> memcpy


Elias Athanasopoulos <eathan@otenet.gr> writes:

> I fixed some similar cases in gas. You might want to include them.
> 
> Elias
> 
> ChangeLog/gas
> 
> 2002-06-25  Elias Athanasopoulos  <eathan@otenet.gr>
> 
> 	* ecoff.c (get_tag): Replace strcpy with memcpy.
> 	(ecoff_directive_def): Likewise.
> 	(ecoff_directive_tag): Likewise.
> 	* listing.c (file_info): Likewise.
> 	* hash.c (what): Likewise.
> 
> --- ecoff.c.orig	Tue Jun 25 19:17:30 2002
> +++ ecoff.c	Tue Jun 25 19:39:29 2002
> @@ -2036,9 +2036,13 @@
>    if (hash_ptr == (shash_t *) NULL)
>      {
>        char *perm;
> +      size_t len;
>  
> -      perm = xmalloc ((unsigned long) (strlen (tag) + 1));
> -      strcpy (perm, tag);
> +      len = strlen (tag) + 1;
> +      perm = xmalloc (len);
> +      if (!perm)
> +	return false;
> +      memcpy (perm, tag, len);
>        hash_ptr = allocate_shash ();
>        err = hash_insert (tag_hash, perm, (char *) hash_ptr);
>        if (err)

Now this is a place where we should use xstrdup.  And note that
xmalloc can not return NULL, so there is no reason for check for it.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]