Index: source/network/NMTCreator.h =================================================================== --- source/network/NMTCreator.h +++ source/network/NMTCreator.h @@ -221,6 +221,7 @@ const u8 *_nm::Deserialize(const u8 *pos, const u8 *end) \ { \ pos=_base::Deserialize(pos, end); \ + if (pos == NULL) BAIL_DESERIALIZER;\ _nm *thiz=this; \ /*printf("In Deserialize" #_nm "\n"); */\ UNUSED2(thiz); // preempt any "unused" warning Index: source/ps/CStr.cpp =================================================================== --- source/ps/CStr.cpp +++ source/ps/CStr.cpp @@ -467,6 +467,8 @@ const u8* CStrW::Deserialize(const u8* buffer, const u8* bufferend) { + ENSURE(buffer); + ENSURE(bufferend); const u16 *strend = (const u16 *)buffer; while ((const u8 *)strend < bufferend && *strend) strend++; if ((const u8 *)strend >= bufferend) return NULL; @@ -507,6 +509,8 @@ const u8* CStr8::Deserialize(const u8* buffer, const u8* bufferend) { + ENSURE(buffer); + ENSURE(bufferend); u32 len; Deserialize_int_4(buffer, len); if (buffer + len > bufferend)