mirror of
https://github.com/cookiengineer/audacity
synced 2025-04-30 15:49:41 +02:00
Add some defensive code in libmad to fix crash opening a corrupt .mp2
This commit is contained in:
parent
b5f2046286
commit
85026f9895
@ -2632,9 +2632,14 @@ int mad_layer_III(struct mad_stream *stream, struct mad_frame *frame)
|
||||
assert(stream->md_len + md_len -
|
||||
si.main_data_begin <= MAD_BUFFER_MDLEN);
|
||||
|
||||
int nCopy = md_len - si.main_data_begin;
|
||||
if (nCopy > MAD_BUFFER_MDLEN - stream->md_len)
|
||||
// PRL defend against an observed violation of the assertion above
|
||||
nCopy = MAD_BUFFER_MDLEN - stream->md_len;
|
||||
|
||||
memcpy(*stream->main_data + stream->md_len,
|
||||
mad_bit_nextbyte(&stream->ptr),
|
||||
frame_used = md_len - si.main_data_begin);
|
||||
frame_used = nCopy);
|
||||
stream->md_len += frame_used;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user