diff --git a/src/frontend/qt_sdl/IPC.cpp b/src/frontend/qt_sdl/IPC.cpp index 14609275..1836a6d0 100644 --- a/src/frontend/qt_sdl/IPC.cpp +++ b/src/frontend/qt_sdl/IPC.cpp @@ -472,6 +472,8 @@ template void FIFOWrite(void* buf, int len) void ProcessCommands() { + memset(CmdRecvFlags, 0, sizeof(CmdRecvFlags)); + Buffer->lock(); u8* data = (u8*)Buffer->data(); BufferHeader* header = (BufferHeader*)&data[0]; @@ -504,6 +506,9 @@ void ProcessCommands() continue; } + if (cmdheader.Command >= Cmd_MAX) + continue; + // handle this command if (cmdheader.Length)