summaryrefslogtreecommitdiff
path: root/libavfilter/vf_showinfo.c
diff options
context:
space:
mode:
authorClément Bœsch <ubitux@gmail.com>2012-12-12 02:55:10 +0100
committerClément Bœsch <ubitux@gmail.com>2012-12-12 02:55:10 +0100
commit9138f6da4a3ee0d11947b8593db6b6b05e53fbae (patch)
treea41cf123b3e02691aa090b864fe0f39968323693 /libavfilter/vf_showinfo.c
parent2fb240ddb6963257c57394dd0d35d1a41ba517d7 (diff)
lavfi/showinfo: check plane count before dereferencing.
Diffstat (limited to 'libavfilter/vf_showinfo.c')
-rw-r--r--libavfilter/vf_showinfo.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavfilter/vf_showinfo.c b/libavfilter/vf_showinfo.c
index 1cad3c93a6..f91721d278 100644
--- a/libavfilter/vf_showinfo.c
+++ b/libavfilter/vf_showinfo.c
@@ -50,7 +50,7 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *frame)
uint32_t plane_checksum[4] = {0}, checksum = 0;
int i, plane, vsub = desc->log2_chroma_h;
- for (plane = 0; frame->data[plane] && plane < 4; plane++) {
+ for (plane = 0; plane < 4 && frame->data[plane]; plane++) {
int64_t linesize = av_image_get_linesize(frame->format, frame->video->w, plane);
uint8_t *data = frame->data[plane];
int h = plane == 1 || plane == 2 ? inlink->h >> vsub : inlink->h;
@@ -80,7 +80,7 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *frame)
av_get_picture_type_char(frame->video->pict_type),
checksum, plane_checksum[0]);
- for (plane = 1; frame->data[plane] && plane < 4; plane++)
+ for (plane = 1; plane < 4 && frame->data[plane]; plane++)
av_log(ctx, AV_LOG_INFO, " %08X", plane_checksum[plane]);
av_log(ctx, AV_LOG_INFO, "]\n");