package flac
tags 340960 + patch
thanks
Attached is flac.diff, which turns the warnings about unexpected EOF
into errors, so that --delete-input-file doesn't delete the input file
if there is something suspicious going on.
I'm not going to NMU this immediately, but I may do that later.
--
Fundamental truth #2: Attitude is usually more important than skills.
diff -ru flac-1.1.2/src/flac/encode.c flac-1.1.2.patched/src/flac/encode.c
--- flac-1.1.2/src/flac/encode.c 2005-01-25 04:13:52.000000000 +0000
+++ flac-1.1.2.patched/src/flac/encode.c 2006-01-05 15:50:34.822506736 +0000
@@ -397,8 +397,8 @@
return EncoderSession_finish_error(&encoder_session);
}
else if(feof(infile)) {
- flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned int)encoder_session.total_samples_to_encode, (unsigned int)encoder_session.samples_written);
- data_bytes= 0;
+ flac__utils_printf(stderr, 1, "%s: ERROR: unexpected EOF; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned int)encoder_session.total_samples_to_encode, (unsigned int)encoder_session.samples_written);
+ return EncoderSession_finish_error(&encoder_session);
}
}
else {
@@ -456,7 +456,8 @@
return EncoderSession_finish_error(&encoder_session);
}
else if(bytes_read != (*options.common.align_reservoir_samples) * bytes_per_frame) {
- flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; read %u bytes; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned int)bytes_read, (unsigned int)encoder_session.total_samples_to_encode, (unsigned int)encoder_session.samples_written);
+ flac__utils_printf(stderr, 1, "%s: ERROR: unexpected EOF; read %u bytes; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned int)bytes_read, (unsigned int)encoder_session.total_samples_to_encode, (unsigned int)encoder_session.samples_written);
+ return EncoderSession_finish_error(&encoder_session);
}
else {
info_align_carry= *options.common.align_reservoir_samples;
@@ -735,8 +736,8 @@
return EncoderSession_finish_error(&encoder_session);
}
else if(feof(infile)) {
- flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned)encoder_session.total_samples_to_encode, (unsigned)encoder_session.samples_written);
- data_bytes = 0;
+ flac__utils_printf(stderr, 1, "%s: ERROR: unexpected EOF; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned)encoder_session.total_samples_to_encode, (unsigned)encoder_session.samples_written);
+ return EncoderSession_finish_error(&encoder_session);
}
}
else {
@@ -794,8 +795,8 @@
return EncoderSession_finish_error(&encoder_session);
}
else if(bytes_read != (*options.common.align_reservoir_samples) * bytes_per_wide_sample) {
- flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; read %u bytes; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned)bytes_read, (unsigned)encoder_session.total_samples_to_encode, (unsigned)encoder_session.samples_written);
- data_bytes = 0;
+ flac__utils_printf(stderr, 1, "%s: ERROR: unexpected EOF; read %u bytes; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned)bytes_read, (unsigned)encoder_session.total_samples_to_encode, (unsigned)encoder_session.samples_written);
+ return EncoderSession_finish_error(&encoder_session);
}
else {
info_align_carry = *options.common.align_reservoir_samples;
@@ -1046,8 +1047,8 @@
return EncoderSession_finish_error(&encoder_session);
}
else if(feof(infile)) {
- flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned)encoder_session.total_samples_to_encode, (unsigned)encoder_session.samples_written);
- total_input_bytes_read = max_input_bytes;
+ flac__utils_printf(stderr, 1, "%s: ERROR: unexpected EOF; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned)encoder_session.total_samples_to_encode, (unsigned)encoder_session.samples_written);
+ return EncoderSession_finish_error(&encoder_session);
}
}
else {
@@ -1098,7 +1099,8 @@
return EncoderSession_finish_error(&encoder_session);
}
else if(bytes_read != (*options.common.align_reservoir_samples) * bytes_per_wide_sample) {
- flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; read %u bytes; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned)bytes_read, (unsigned)encoder_session.total_samples_to_encode, (unsigned)encoder_session.samples_written);
+ flac__utils_printf(stderr, 1, "%s: ERROR: unexpected EOF; read %u bytes; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned)bytes_read, (unsigned)encoder_session.total_samples_to_encode, (unsigned)encoder_session.samples_written);
+ return EncoderSession_finish_error(&encoder_session);
}
else {
info_align_carry = *options.common.align_reservoir_samples;