[PATCH] shell32: use flexible arrays to avoid fortify failures
Hi, Alexandre Julliard wrote:
it needs to be "foo[]". ANYSIZE_ARRAY is defined as 1 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.
Thank you for pointing to ANYSIZE_ARRAY. Why not cope with the way MS people recommend and use foo[ANYSIZE_ARRAY], together with the FIELD_OFFSET() macro? I found this article useful: http://blogs.msdn.com/b/oldnewthing/archive/2004/08/26/220873.aspx and made a note to use that in future patches. It explains why ANYSIZE_ARRAY MUST be 1. Should somebody submit patches to replace foo[1] with foo[ANYSIZE_ARRAY] where needed in Wine's include/*.h ? E.g. wingdi.h: BITMAPINFO comes to mind, it uses RGBQUAD bmiColors[1]; http://source.winehq.org/source/include/wingdi.h#L1912 ANYSIZE_ARRAY would be a perfect match here. Perhaps one can teach fortify about ANYSIZE_ARRAY? Regards, Jörg Höhle
participants (1)
-
Joerg-Cyril.Hoehle@t-systems.com