[SDK:ATL] Fix the size of the ATL_WNDCLASSINFOW::m_szAutoName member according to...
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Wed, 15 Jan 2020 00:10:28 +0000 (01:10 +0100)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Wed, 15 Jan 2020 00:14:03 +0000 (01:14 +0100)
The autogenerated name has the format:
    "ATL:<hexadecimal_digits_of_pointer><NULL-terminator>"

and the number of hex digits in 0xABCD1234 (for 32-bit == 4-byte)
pointers (without the '0x') is 8 == 4*2, and for 64-bit == 8-byte
pointers (e.g. 0xABCDEF0123456789) is 16 == 8*2.

sdk/lib/atl/atlwin.h

index 3539c13..c35c936 100644 (file)
@@ -1893,7 +1893,7 @@ struct _ATL_WNDCLASSINFOW
     LPCWSTR m_lpszCursorID;
     BOOL m_bSystemCursor;
     ATOM m_atom;
-    WCHAR m_szAutoName[5 + sizeof(void *)];
+    WCHAR m_szAutoName[sizeof("ATL:") + sizeof(void *) * 2]; // == 4 characters + NULL + number of hexadecimal digits describing a pointer.
 
     ATOM Register(WNDPROC *p)
     {