[PATCH] shell32: replace strcpy by memcpy due to slightly undefined struct handling
meissner at suse.de
Mon Feb 15 10:51:33 CST 2010
On Mon, Feb 15, 2010 at 06:46:06PM +0200, Paul Chitescu wrote:
> > - strcpy(pData->u.network.szNames, "Entire Network");
> > + memcpy(pData->u.network.szNames, "Entire Network", sizeof("Entire
> Please use a const buffer as "Entire Network" is a string literal, not
> something with a clearly defined size (not even talking about length).
> const char entireNetwork = "Entire Network";
> memcpy(pData->u.network.szNames, entireNetwork, sizeof(entireNetwork));
> The final NUL is part of the char array. Regardless, we may still copy some
> garbage after the NUL depending if/how the compiler pads the buffer.
> Probably a better way would be to simply cast (char*)pData->u.network.szNames
> since the length is not checked anyway.
The compiler checks the target size, and (char*) will not hinder the
compiler to check it.
I did not really want to uglify this code more then necessary. :(
More information about the wine-devel