* Charles Duffy:

> @@ -242,8 +242,7 @@
>                 char buffer[MAXLINELEN+1];
>                 int errorCode = GetLastError();
>  
> -               snprintf(buffer, MAXLINELEN, _("Unable to copy '%s' to '%s' - 
> error %d", 0), source, target, errorCode);
> -               strcat(buffer, ": %%s");
> +               snprintf(buffer, MAXLINELEN, _("Unable to copy '%s' to '%s' - 
> error %d: %%s", 0), source, target, errorCode);
>                 DisplayErrorToUser(errorCode, _("Failure copying files", 0), 
> buffer);
>                 return FALSE;
>         }
>


I believe that this is still wrong.  The variables source and target
might contain '%' characters, too.

In other places, the source code uses strncpy() in a lenient way.  You
might want to check these places and make sure that the buffer is
always NUL-terminated.

Reply via email to