diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c
index a87e8e3eade035f28ed051514188c58919820e4e..9978712bb839e69179542c80628e39ed2646f39e 100644
--- a/libavcodec/avpacket.c
+++ b/libavcodec/avpacket.c
@@ -34,8 +34,7 @@
 
 void av_destruct_packet(AVPacket *pkt)
 {
-    av_free(pkt->data);
-    pkt->data = NULL;
+    av_freep(&pkt->data);
     pkt->size = 0;
 }