瀏覽代碼

stbi__stdio_eof() should check ferror(), too.

Otherwise with filesystem errors, you might end up with a short read but
believe there's still more to read from the file, causing infinite loops.
Ryan C. Gordon 5 年之前
父節點
當前提交
385b5d3cda
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      stb_image.h

+ 1 - 1
stb_image.h

@@ -799,7 +799,7 @@ static void stbi__stdio_skip(void *user, int n)
 
 static int stbi__stdio_eof(void *user)
 {
-   return feof((FILE*) user);
+   return feof((FILE*) user) || ferror((FILE *) user);
 }
 
 static stbi_io_callbacks stbi__stdio_callbacks =