diff --git a/libavformat/utils.c b/libavformat/utils.c index be9a44f168242e0e91fd1e9d0c11ef68daa129da..3e482a3bbc18bd13ab9b676a051914bf402efc81 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -1416,12 +1416,15 @@ FF_ENABLE_DEPRECATION_WARNINGS void ff_packet_list_free(AVPacketList **pkt_buf, AVPacketList **pkt_buf_end) { - while (*pkt_buf) { - AVPacketList *pktl = *pkt_buf; - *pkt_buf = pktl->next; + AVPacketList *tmp = *pkt_buf; + + while (tmp) { + AVPacketList *pktl = tmp; + tmp = pktl->next; av_packet_unref(&pktl->pkt); av_freep(&pktl); } + *pkt_buf = NULL; *pkt_buf_end = NULL; }