On Mon, Mar 21, 2022 at 02:14:55PM +0100, Jacek Caban wrote:
@@ -2131,10 +2130,16 @@ static void SPY_GetMsgStuff( SPY_INSTANCE *sp_e )
if (sp_e->msgnum >= 0xc000) {
if (GlobalGetAtomNameA( sp_e->msgnum, sp_e->msg_name+1, sizeof(sp_e->msg_name)-2 ))
char buf[sizeof(ATOM_BASIC_INFORMATION) + MAX_ATOM_LEN * sizeof(WCHAR)];
ATOM_BASIC_INFORMATION *abi = (ATOM_BASIC_INFORMATION *)buf;
if (!NtQueryInformationAtom( sp_e->msgnum, AtomBasicInformation, abi, sizeof(buf), NULL )) {
sp_e->msg_name[0] = '\"';
strcat( sp_e->msg_name, "\"" );
unsigned int j = 0;
sp_e->msg_name[j++] = '\"';
j += ntdll_wcstoumbs( abi->Name, abi->NameLength,
sp_e->msg_name + j, sizeof(sp_e->msg_name) - 3, FALSE ) / sizeof(WCHAR);
Hi Jacek,
The divide by sizeof(WCHAR) bit doesn't look right here.
sp_e->msg_name[j++] = '\"';
sp_e->msg_name[j++] = 0; return;
Huw.