diff options
Diffstat (limited to 'multimedia/mythtv/files/patch-CVE-2018-6392')
-rw-r--r-- | multimedia/mythtv/files/patch-CVE-2018-6392 | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/multimedia/mythtv/files/patch-CVE-2018-6392 b/multimedia/mythtv/files/patch-CVE-2018-6392 new file mode 100644 index 000000000000..0344ff82870e --- /dev/null +++ b/multimedia/mythtv/files/patch-CVE-2018-6392 @@ -0,0 +1,44 @@ +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]; |