diff --git a/src/osgPlugins/md2/ReaderWriterMD2.cpp b/src/osgPlugins/md2/ReaderWriterMD2.cpp index 5f3e6c83e..ea228780c 100644 --- a/src/osgPlugins/md2/ReaderWriterMD2.cpp +++ b/src/osgPlugins/md2/ReaderWriterMD2.cpp @@ -162,7 +162,6 @@ load_md2 (const char *filename, const osgDB::ReaderWriter::Options* options) file_fd = open (filename, O_RDONLY); if (file_fd <= 0) { - close (file_fd); return NULL; } diff --git a/src/osgPlugins/pic/ReaderWriterPIC.cpp b/src/osgPlugins/pic/ReaderWriterPIC.cpp index ad7f2f9a1..b42d5b8b9 100644 --- a/src/osgPlugins/pic/ReaderWriterPIC.cpp +++ b/src/osgPlugins/pic/ReaderWriterPIC.cpp @@ -113,7 +113,13 @@ int *numComponents_ret) picerror = ERROR_NO_ERROR; - fseek(fp, 2, SEEK_SET); + if (!fseek(fp, 2, SEEK_SET)) + { + picerror = ERROR_READING_HEADER; + fclose(fp); + return NULL; + } + if (!readint16(fp, &w)) { picerror = ERROR_READING_HEADER; @@ -121,7 +127,13 @@ int *numComponents_ret) return NULL; } - fseek(fp, 4, SEEK_SET); + if (!fseek(fp, 4, SEEK_SET)) + { + picerror = ERROR_READING_HEADER; + fclose(fp); + return NULL; + } + if (!readint16(fp, &h)) { picerror = ERROR_READING_HEADER; @@ -137,7 +149,13 @@ int *numComponents_ret) fclose(fp); return NULL; } - fseek(fp, 32, SEEK_SET); + + if (!fseek(fp, 32, SEEK_SET)) + { + picerror = ERROR_READING_HEADER; + fclose(fp); + return NULL; + } if (fread(&palette, 3, 256, fp) != 256) { diff --git a/src/osgPlugins/shp/ESRIShapeParser.cpp b/src/osgPlugins/shp/ESRIShapeParser.cpp index bd236c80b..5ff41fdcf 100644 --- a/src/osgPlugins/shp/ESRIShapeParser.cpp +++ b/src/osgPlugins/shp/ESRIShapeParser.cpp @@ -25,7 +25,6 @@ ESRIShapeParser::ESRIShapeParser( const std::string fileName, bool useDouble ): if( (fd = open( fileName.c_str(), O_RDONLY )) <= 0 ) #endif { - if (fd) close ( fd ); perror( fileName.c_str() ); return ; }