diff --git a/tscpp.cpp b/tscpp.cpp index 934ed804677ad368dec4f9e232ed958f8c16f0b2..28fbd93949b8c1a64c1cb883b031d9846e8106a5 100644 --- a/tscpp.cpp +++ b/tscpp.cpp @@ -97,7 +97,9 @@ int unserializeUnknown(const TypePool& tp, const void *buffer, int bufSize) const char *name=buf; buf+=nameSize+1; bufSize-=nameSize+1; - return tp.unserializeUnknownImpl(name,buf,bufSize)+nameSize+1; + auto result=tp.unserializeUnknownImpl(name,buf,bufSize); + if(result<0) return result; + return result+nameSize+1; } string peekTypeName(const void *buffer, int bufSize)