From: John Hodge Date: Tue, 10 Sep 2013 09:04:06 +0000 (+0800) Subject: Usermode/AxWin3 - Fixed dropped messages due to small buffer size X-Git-Tag: rel0.15~228 X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=3ad4532bb952dbcb28a2b9fa72d7f1f87b5f8fd4;hp=cf7218d1ab5b10c6a94a2174af91e1fb4398c9f9;p=tpg%2Facess2.git Usermode/AxWin3 - Fixed dropped messages due to small buffer size --- diff --git a/Usermode/Applications/axwin3_src/WM/ipc.c b/Usermode/Applications/axwin3_src/WM/ipc.c index 7155c115..9cf68e8a 100644 --- a/Usermode/Applications/axwin3_src/WM/ipc.c +++ b/Usermode/Applications/axwin3_src/WM/ipc.c @@ -471,10 +471,16 @@ void IPC_Handle(tIPC_Client *Client, size_t MsgLen, tAxWin_IPCMessage *Msg) // _SysDebug("IPC_Handle: (IPCType=%p, Ident=%p, MsgLen=%i, Msg=%p)", // IPCType, Ident, MsgLen, Msg); - if( MsgLen < sizeof(tAxWin_IPCMessage) ) + if( MsgLen < sizeof(*Msg) ) { + _SysDebug("IPC_Handle: %p Dropped full undersize message (%i < %i)", + Client, MsgLen, sizeof(*Msg)); return ; - if( MsgLen < sizeof(tAxWin_IPCMessage) + Msg->Size ) + } + if( MsgLen < sizeof(*Msg) + Msg->Size ) { + _SysDebug("IPC_Handle: %p Dropped undersize message (%i < %i+%i)", + Client, MsgLen, sizeof(*Msg), Msg->Size); return ; + } if( Msg->Flags & IPCMSG_FLAG_RENDERER ) { diff --git a/Usermode/Applications/axwin3_src/WM/ipc_acess.c b/Usermode/Applications/axwin3_src/WM/ipc_acess.c index 534d53d4..700b60f4 100644 --- a/Usermode/Applications/axwin3_src/WM/ipc_acess.c +++ b/Usermode/Applications/axwin3_src/WM/ipc_acess.c @@ -12,7 +12,7 @@ #include // === CONSTANTS === -#define STATICBUF_SIZE 64 +#define STATICBUF_SIZE 256 #define AXWIN_PORT 4101 // === PROTOTYPES ===