__wine_vxd_open() has several bugs. If filenameW doesn't end in ".vxd", it is wrongly allowed to be over 8 characters long. If it does end in ".vxd", then a maximum length filename, eg. "12345678.vxd", always gets misdetected as being too long, as: "lstrlenW( filenameW ) >= ARRAY_SIZE(name) - 4" becomes 12 >= 12.
Rather do the checks for maximum filename length when we detect the filename format.
Signed-off-by: Damjan Jovanovic damjan.jov@gmail.com --- dlls/krnl386.exe16/vxd.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-)