Browse code

tiny_psnr: check fread() return values

Originally committed as revision 24148 to svn://svn.ffmpeg.org/ffmpeg/trunk

Måns Rullgård authored on 2010/07/10 08:26:36
Showing 1 changed files
... ...
@@ -131,14 +131,17 @@ int main(int argc,char* argv[]){
131 131
 
132 132
     for (i = 0; i < 2; i++) {
133 133
         uint8_t *p = buf[i];
134
-        fread(p, 1, 12, f[i]);
134
+        if (fread(p, 1, 12, f[i]) != 12)
135
+            return 1;
135 136
         if (!memcmp(p,   "RIFF", 4) &&
136 137
             !memcmp(p+8, "WAVE", 4)) {
137
-            fread(p, 1, 8, f[i]);
138
+            if (fread(p, 1, 8, f[i]) != 8)
139
+                return 1;
138 140
             while (memcmp(p, "data", 4)) {
139 141
                 int s = p[4] | p[5]<<8 | p[6]<<16 | p[7]<<24;
140 142
                 fseek(f[i], s, SEEK_CUR);
141
-                fread(p, 1, 8, f[i]);
143
+                if (fread(p, 1, 8, f[i]) != 8)
144
+                    return 1;
142 145
             }
143 146
         } else {
144 147
             fseek(f[i], -12, SEEK_CUR);