[email protected] (12020-04-29): > From: Limin Wang <[email protected]> > > Signed-off-by: Limin Wang <[email protected]> > --- > libavformat/matroskaenc.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c > index 784973a951..f0474da44f 100644 > --- a/libavformat/matroskaenc.c > +++ b/libavformat/matroskaenc.c > @@ -374,9 +374,12 @@ static void end_ebml_master_crc32(AVIOContext *pb, > AVIOContext **dyn_cp, > put_ebml_length(pb, size, length_size); > if (mkv->write_crc) { > skip = 6; /* Skip reserved 6-byte long void element from the dynamic > buffer. */ > + if (size > skip) { > AV_WL32(crc, av_crc(av_crc_get_table(AV_CRC_32_IEEE_LE), UINT32_MAX, > buf + skip, size - skip) ^ UINT32_MAX); > put_ebml_binary(pb, EBML_ID_CRC32, crc, sizeof(crc)); > + } > } > + if (size > skip)
Same as previous: just skipping the work when the buffer is not big
enough seems broken.
> avio_write(pb, buf + skip, size - skip);
>
> if (keep_buffer) {
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
