I noticed that when calling flac with the -t option,
the program will still return a "pass" errorcode 0 even
when the tested flac fails an MD5 check (as well as a
FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC error, as
indicated by my test file). The proper warnings will
appear on the console, but the errorcode is not
correctly set to non-zero.
After a cursory glance at the source code, the problem
would appear to be in the 'DecoderSession_finish_ok'
function within decode.c - here, it checks for MD5
mismatch, and prints an error message if it fails...
but does NOT change the return value. Of course, I'm
not much of a developer, and didn't look at the code
too deeply, so the problem could be elsewhere...
If you want, I can send you the the .flac file I
initially found this problem with (since it also raises
without an error - as I'm not sure exactly what these
errors signify, I'm not sure if flac was intended to
return a failure errorcode on these or not =P ). I
initially tried to upload it along with this bug
report, but it wouldn't allow it - likely because the
file is too big...