summaryrefslogtreecommitdiffhomepage
path: root/patches/libmp3splt/CVE-2017-15185.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/libmp3splt/CVE-2017-15185.patch')
-rw-r--r--patches/libmp3splt/CVE-2017-15185.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/patches/libmp3splt/CVE-2017-15185.patch b/patches/libmp3splt/CVE-2017-15185.patch
new file mode 100644
index 00000000..82090f43
--- /dev/null
+++ b/patches/libmp3splt/CVE-2017-15185.patch
@@ -0,0 +1,41 @@
+diff --git a/plugins/ogg.c b/plugins/ogg.c
+index 50cc495..57745f1 100644
+--- a/plugins/ogg.c
++++ b/plugins/ogg.c
+@@ -212,26 +212,36 @@ static splt_ogg_state *splt_ogg_v_new(int *error)
+ goto error;
+ }
+ memset(oggstate, 0, sizeof(splt_ogg_state));
++
+ if ((oggstate->sync_in = malloc(sizeof(ogg_sync_state)))==NULL)
+ {
+ goto error;
+ }
++ memset(oggstate->sync_in, 0, sizeof(ogg_sync_state));
++
+ if ((oggstate->stream_in = malloc(sizeof(ogg_stream_state)))==NULL)
+ {
+ goto error;
+ }
++ memset(oggstate->stream_in, 0, sizeof(ogg_stream_state));
++
+ if ((oggstate->vd = malloc(sizeof(vorbis_dsp_state)))==NULL)
+ {
+ goto error;
+ }
++ memset(oggstate->vd, 0, sizeof(vorbis_dsp_state));
++
+ if ((oggstate->vi = malloc(sizeof(vorbis_info)))==NULL)
+ {
+ goto error;
+ }
++ memset(oggstate->vi, 0, sizeof(vorbis_info));
++
+ if ((oggstate->vb = malloc(sizeof(vorbis_block)))==NULL)
+ {
+ goto error;
+ }
++ memset(oggstate->vb, 0, sizeof(vorbis_block));
+
+ if ((oggstate->headers = malloc(sizeof(splt_v_packet) * TOTAL_HEADER_PACKETS))==NULL)
+ {