1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

avcodec/avpacket: always initialize the new packet in avpriv_packet_list_put()

If a copy callback is provided by the caller, the packet passed to it
was zeroed instead of initialized with default values.

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer 2021-05-06 23:55:32 -03:00
parent ffd1316e44
commit 0a029906b2

View File

@ -519,13 +519,14 @@ int avpriv_packet_list_put(PacketList **packet_buffer,
int (*copy)(AVPacket *dst, const AVPacket *src),
int flags)
{
PacketList *pktl = av_mallocz(sizeof(PacketList));
PacketList *pktl = av_malloc(sizeof(PacketList));
int ret;
if (!pktl)
return AVERROR(ENOMEM);
if (copy) {
get_packet_defaults(&pktl->pkt);
ret = copy(&pktl->pkt, pkt);
if (ret < 0) {
av_free(pktl);
@ -540,6 +541,8 @@ int avpriv_packet_list_put(PacketList **packet_buffer,
av_packet_move_ref(&pktl->pkt, pkt);
}
pktl->next = NULL;
if (*packet_buffer)
(*plast_pktl)->next = pktl;
else