[PATCH] shell32: use flexible arrays to avoid fortify failures

Mike Frysinger vapier at gentoo.org
Sun Sep 19 16:38:14 CDT 2010


On Sunday, September 19, 2010 17:17:53 Alexandre Julliard wrote:
> Mike Frysinger writes:
> > i dont see how that would help.  the code is currently:
> > typedef struct ... {
> > 
> > 	...
> > 	CHAR foo[1];
> > 
> > } ...;
> > 
> > it needs to be "foo[]".  ANYSIZE_ARRAY is defined as 1, so once the
> > preprocessor is done, we're right back where we started.  i cant change
> > the value of ANYSIZE_ARRAY to nothing because some code uses this define
> > in multiplication to calculate the size of objects.
> 
> True, you don't want to change the public one, but you can define a
> shell32-specific version of it. At least then it looks like a normal
> array declaration.

what do you mean by "public" ?  the header i'm changing (dlls/shell32/pidl.h) 
isnt exported during `make install` that i can see.  so only wine itself will 
be reading this header, and i think all consumers of it internally should be 
getting "foo[]".
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20100919/a0a62038/attachment.pgp>


More information about the wine-devel mailing list