* 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.