diff options
Diffstat (limited to 'progs/redbook/minmax.c')
-rw-r--r-- | progs/redbook/minmax.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/progs/redbook/minmax.c b/progs/redbook/minmax.c index da5b875a47..2c1356c9de 100644 --- a/progs/redbook/minmax.c +++ b/progs/redbook/minmax.c @@ -47,6 +47,7 @@ */ #include <GL/glew.h> #include <GL/glut.h> +#include <assert.h> #include <stdlib.h> #include <stdio.h> @@ -78,6 +79,7 @@ readImage( const char* filename, GLsizei* width, GLsizei *height ) { int n; GLubyte* pixels; + size_t num_read; FILE* infile = fopen( filename, "rb" ); @@ -86,8 +88,10 @@ readImage( const char* filename, GLsizei* width, GLsizei *height ) return NULL; } - fread( width, sizeof( GLsizei ), 1, infile ); - fread( height, sizeof( GLsizei ), 1, infile ); + num_read = fread( width, sizeof( GLsizei ), 1, infile ); + assert(num_read == 1); + num_read = fread( height, sizeof( GLsizei ), 1, infile ); + assert(num_read == 1); *width = bswap(*width); *height = bswap(*height); @@ -97,10 +101,12 @@ readImage( const char* filename, GLsizei* width, GLsizei *height ) pixels = (GLubyte *) malloc( n * sizeof( GLubyte )); if ( !pixels ) { fprintf( stderr, "Unable to malloc() bytes for pixels\n" ); + fclose( infile ); return NULL; } - fread( pixels, sizeof( GLubyte ), n, infile ); + num_read = fread( pixels, sizeof( GLubyte ), n, infile ); + assert(num_read == n); fclose( infile ); |