--- libmad-0.15.1b.orig/layer3.c 2004-01-23 10:41:32.000000000 +0100 +++ libmad-0.15.1b/layer3.c 2013-10-16 10:51:25.000000000 +0200 @@ -2608,6 +2608,12 @@ int mad_layer_III(struct mad_stream *str next_md_begin = 0; md_len = si.main_data_begin + frame_space - next_md_begin; + if (md_len + MAD_BUFFER_GUARD > MAD_BUFFER_MDLEN) + { + stream->error = MAD_ERROR_LOSTSYNC; + stream->sync = 0; + return -1; + } frame_used = 0;