From 509c0380fa0fc22722de96dfee80a547a76fdb23 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Thu, 30 Jun 2016 11:00:38 +0100 Subject: [PATCH] Added handling of return value --- src/osgPlugins/txp/ReaderWriterTXP.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/osgPlugins/txp/ReaderWriterTXP.cpp b/src/osgPlugins/txp/ReaderWriterTXP.cpp index 988051ad3..20fa69e8a 100644 --- a/src/osgPlugins/txp/ReaderWriterTXP.cpp +++ b/src/osgPlugins/txp/ReaderWriterTXP.cpp @@ -185,10 +185,16 @@ osgDB::ReaderWriter::ReadResult ReaderWriterTXP::local_readNode(const std::strin { int x,y,lod; unsigned int id; - sscanf(name.c_str(),"subtiles%d_%dx%d_%u",&lod,&x,&y,&id); + if (sscanf(name.c_str(),"subtiles%d_%dx%d_%u",&lod,&x,&y,&id)!=4) + { + return ReadResult::ERROR_IN_READING_FILE; + } + osg::ref_ptr< TXPArchive > archive = getArchive(id,osgDB::getFilePath(file)); if (archive == NULL) + { return ReadResult::ERROR_IN_READING_FILE; + } int majorVersion, minorVersion; archive->GetVersion(majorVersion, minorVersion);