On 5/7/2021 2:17 PM, James Almer wrote:
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 <[email protected]>
---
  libavcodec/avpacket.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c
index e32c467586..1f20cd1e6b 100644
--- a/libavcodec/avpacket.c
+++ b/libavcodec/avpacket.c
@@ -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

Will apply.
_______________________________________________
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".

Reply via email to