Alexandre Julliard (@julliard) commented about dlls/scrrun/filesystem.c:
- int len;
- WCHAR src_path[MAX_PATH];
int len, dst_len;
WCHAR src_path[MAX_PATH], dst_path[MAX_PATH];
WCHAR *filename;
TRACE("%p %s %s\n", iface, debugstr_w(source), debugstr_w(destination));
if(!source || !source[0] || !destination || !destination[0]) return E_INVALIDARG;
if (!GetFullPathNameW(source, MAX_PATH, src_path, &filename))
return E_FAIL;
len = SysStringLen(source); lstrcpyW(src_path, source);
It doesn't make sense to get the full path name and then overwrite it with the original source. Note that this invalidates the filename data as well.