--- src/speexenc.c +++ src/speexenc.c @@ -460,7 +460,7 @@ } { - fread(first_bytes, 1, 12, fin); + if (fread(first_bytes, 1, 12, fin) == 12) { if (strncmp(first_bytes,"RIFF",4)==0 && strncmp(first_bytes,"RIFF",4)==0) { if (read_wav_header(fin, &rate, &chan, &fmt, &size)==-1) @@ -468,6 +468,7 @@ wave_input=1; lsb=1; /* CHECK: exists big-endian .wav ?? */ } + } } if (modeID==-1 && !rate)