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.
@@ -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 =