avcodec/avpacket: add some assertions to ensure pkt->data is not null if pkt->size > 0
authorMarton Balint <cus@passwd.hu>
Thu, 14 Feb 2019 21:36:46 +0000 (22:36 +0100)
committerMarton Balint <cus@passwd.hu>
Fri, 1 Mar 2019 21:32:32 +0000 (22:32 +0100)
This should fix the following Coverity false positives:

Coverity CID #1405450.
Coverity CID #1430930.

Signed-off-by: Marton Balint <cus@passwd.hu>
libavcodec/avpacket.c

index 11ac4e8..8f0603d 100644 (file)
@@ -616,6 +616,7 @@ int av_packet_ref(AVPacket *dst, const AVPacket *src)
         ret = packet_alloc(&dst->buf, src->size);
         if (ret < 0)
             goto fail;
+        av_assert1(!src->size || src->data);
         if (src->size)
             memcpy(dst->buf->data, src->data, src->size);
 
@@ -668,6 +669,7 @@ int av_packet_make_refcounted(AVPacket *pkt)
     ret = packet_alloc(&pkt->buf, pkt->size);
     if (ret < 0)
         return ret;
+    av_assert1(!pkt->size || pkt->data);
     if (pkt->size)
         memcpy(pkt->buf->data, pkt->data, pkt->size);
 
@@ -687,6 +689,7 @@ int av_packet_make_writable(AVPacket *pkt)
     ret = packet_alloc(&buf, pkt->size);
     if (ret < 0)
         return ret;
+    av_assert1(!pkt->size || pkt->data);
     if (pkt->size)
         memcpy(buf->data, pkt->data, pkt->size);