Previously these were left in an inconsistent state.

Pointed out by Michael Niedermayer.
---
 libavformat/movenchint.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/movenchint.c b/libavformat/movenchint.c
index 4570815..a8f5f34 100644
--- a/libavformat/movenchint.c
+++ b/libavformat/movenchint.c
@@ -105,8 +105,10 @@ static void sample_queue_push(HintSampleQueue *queue, 
uint8_t *data, int size,
         return;
     if (!queue->samples || queue->len >= queue->size) {
         queue->size += 10;
-        if (av_reallocp(&queue->samples, sizeof(*queue->samples) * 
queue->size) < 0)
+        if (av_reallocp(&queue->samples, sizeof(*queue->samples) * 
queue->size) < 0) {
+            queue->len = queue->size = 0;
             return;
+        }
     }
     queue->samples[queue->len].data = data;
     queue->samples[queue->len].size = size;
-- 
1.7.9.4

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to