summaryrefslogtreecommitdiffstats
path: root/progs/redbook/histogram.c
diff options
context:
space:
mode:
Diffstat (limited to 'progs/redbook/histogram.c')
-rw-r--r--progs/redbook/histogram.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/progs/redbook/histogram.c b/progs/redbook/histogram.c
index de1e59edea6..12b0e315ca1 100644
--- a/progs/redbook/histogram.c
+++ b/progs/redbook/histogram.c
@@ -83,6 +83,7 @@ readImage( const char* filename, GLsizei* width, GLsizei *height )
{
int n;
GLubyte* pixels;
+ size_t num_read;
FILE* infile = fopen( filename, "rb" );
@@ -91,8 +92,10 @@ readImage( const char* filename, GLsizei* width, GLsizei *height )
exit(1);
}
- 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);
@@ -102,10 +105,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 );