Changeset View
Changeset View
Standalone View
Standalone View
head/multimedia/mythtv/files/patch-CVE-2018-6392
Property | Old Value | New Value |
---|---|---|
fbsd:nokeywords | null | yes \ No newline at end of property |
svn:eol-style | null | native \ No newline at end of property |
svn:mime-type | null | text/plain \ No newline at end of property |
Fix for CVE-2018-6392 | |||||
https://security-tracker.debian.org/tracker/CVE-2018-6392 | |||||
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/3f621455d62e46745453568d915badd5b1e5bcd5 | |||||
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/c6939f65a116b1ffed345d29d8621ee4ffb32235 | |||||
--- external/FFmpeg/libavfilter/vf_transpose.c.orig 2018-02-01 11:15:37 UTC | |||||
+++ external/FFmpeg/libavfilter/vf_transpose.c | |||||
@@ -27,6 +27,7 @@ | |||||
#include <stdio.h> | |||||
+#include "libavutil/avassert.h" | |||||
#include "libavutil/imgutils.h" | |||||
#include "libavutil/internal.h" | |||||
#include "libavutil/intreadwrite.h" | |||||
@@ -54,6 +55,7 @@ enum TransposeDir { | |||||
typedef struct TransContext { | |||||
const AVClass *class; | |||||
int hsub, vsub; | |||||
+ int planes; | |||||
int pixsteps[4]; | |||||
int passthrough; ///< PassthroughType, landscape passthrough mode enabled | |||||
@@ -106,7 +108,11 @@ static int config_props_output(AVFilterLink *outlink) | |||||
s->hsub = desc_in->log2_chroma_w; | |||||
s->vsub = desc_in->log2_chroma_h; | |||||
+ s->planes = av_pix_fmt_count_planes(outlink->format); | |||||
+ av_assert0(desc_in->nb_components == desc_out->nb_components); | |||||
+ | |||||
+ | |||||
av_image_fill_max_pixsteps(s->pixsteps, NULL, desc_out); | |||||
outlink->w = inlink->h; | |||||
@@ -148,7 +154,7 @@ static int filter_slice(AVFilterContext *ctx, void *ar | |||||
AVFrame *in = td->in; | |||||
int plane; | |||||
- for (plane = 0; out->data[plane]; plane++) { | |||||
+ for (plane = 0; plane < s->planes; plane++) { | |||||
int hsub = plane == 1 || plane == 2 ? s->hsub : 0; | |||||
int vsub = plane == 1 || plane == 2 ? s->vsub : 0; | |||||
int pixstep = s->pixsteps[plane]; |