ソースを参照

Check that zlib initialized correctly in FBX parser

Check the return code of inflateInit() indicates success to avoid
crashing later when zstream contains invalid data.
Johnny Dickinson 10 年 前
コミット
380021e7c4
1 ファイル変更3 行追加1 行削除
  1. 3 1
      code/FBXParser.cpp

+ 3 - 1
code/FBXParser.cpp

@@ -549,7 +549,9 @@ void ReadBinaryDataArray(char type, uint32_t count, const char*& data, const cha
 		zstream.data_type = Z_BINARY;
 
 		// http://hewgill.com/journal/entries/349-how-to-decompress-gzip-stream-with-zlib
-		inflateInit(&zstream);
+		if(Z_OK != inflateInit(&zstream)) {
+			ParseError("failure initializing zlib");
+		}
 
 		zstream.next_in   = reinterpret_cast<Bytef*>( const_cast<char*>(data) );
 		zstream.avail_in  = comp_len;