diff --git a/spine-cpp/spine-cpp/src/spine/SkeletonBinary.cpp b/spine-cpp/spine-cpp/src/spine/SkeletonBinary.cpp index ac61ab83d6..76ba3bd349 100644 --- a/spine-cpp/spine-cpp/src/spine/SkeletonBinary.cpp +++ b/spine-cpp/spine-cpp/src/spine/SkeletonBinary.cpp @@ -279,6 +279,12 @@ SkeletonData *SkeletonBinary::readSkeletonData(const unsigned char *binary, cons skeletonData->_defaultSkin = defaultSkin; skeletonData->_skins.add(defaultSkin); } + + if (!this->getError().isEmpty()) { + delete input; + delete skeletonData; + return NULL; + } /* Skins. */ for (size_t i = 0, n = (size_t)readVarint(input, true); i < n; ++i) {