diff --git a/src/nt_messagereader.cpp b/src/nt_messagereader.cpp index c210b7d7d5..5ad3a5df57 100644 --- a/src/nt_messagereader.cpp +++ b/src/nt_messagereader.cpp @@ -194,6 +194,19 @@ MessageReader::Run() if (!Read(size)) return false; } case NT_MSG_RPC_RESPONSE: + { + if (m_proto_rev < 0x0300u) + { + m_error = "received RPC_RESPONSE in protocol < 3.0"; + return false; + } + unsigned int id, uid; + if (!Read16(&id)) return false; + if (!Read16(&uid)) return false; + unsigned long size; + if (!ReadULEB128(&size)) return false; + if (!Read(size)) return false; + } default: m_error = "unrecognized message type"; return false;