ddraw.c: avoid memory overwrite in GetDeviceIdentifier()

Stefan Dösinger stefandoesinger at gmx.at
Mon Oct 12 14:42:08 CDT 2009


 > diff --git a/dlls/ddraw/tests/visual.c b/dlls/ddraw/tests/visual.c
 > index 450d231..645fa8d 100644
 > --- a/dlls/ddraw/tests/visual.c
 > +++ b/dlls/ddraw/tests/visual.c
The visual.c file doesn't seem quite right for this test. There's no  
really matching file, but I think ddrawmodes.c is better, since that  
file mainly tests IDirectDraw behavior, while visual.c is mainly about  
d3d.

 > memcpy(DDDI->szDriver, deviceidentifier.szDriver,  
MAX_DDDEVICEID_STRING);
 > memcpy(DDDI->szDescription, deviceidentifier.szDescription,  
MAX_DDDEVICEID_STRING);
It's probably worth testing what happens when the string is shorter  
than the max length(as it is most likely the case on all windows  
boxes). Are the remaining bytes in szDriver unchanged, as if you were  
using strcpy rather than memcpy. I can imagine that they're left  
untoched(strcpy), set to garbage(memcpy) or set to zero(memset, then  
strcpy)




More information about the wine-devel mailing list