OSDN Git Service
(root)
/
android-x86
/
external-ffmpeg.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0e83009
)
eacmv: clear references on frame dimensions change
author
Anton Khirnov
<anton@khirnov.net>
Thu, 28 Nov 2013 09:54:35 +0000
(10:54 +0100)
committer
Anton Khirnov
<anton@khirnov.net>
Tue, 4 Feb 2014 20:59:14 +0000
(21:59 +0100)
Fixes invalid reads.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
libavcodec/eacmv.c
patch
|
blob
|
history
diff --git
a/libavcodec/eacmv.c
b/libavcodec/eacmv.c
index
1a4e16e
..
6adadb1
100644
(file)
--- a/
libavcodec/eacmv.c
+++ b/
libavcodec/eacmv.c
@@
-141,6
+141,12
@@
static int cmv_process_header(CmvContext *s, const uint8_t *buf, const uint8_t *
s->width = AV_RL16(&buf[4]);
s->height = AV_RL16(&buf[6]);
+ if (s->width != s->avctx->width ||
+ s->height != s->avctx->height) {
+ av_frame_unref(s->last_frame);
+ av_frame_unref(s->last2_frame);
+ }
+
ret = ff_set_dimensions(s->avctx, s->width, s->height);
if (ret < 0)
return ret;