~ubuntu-branches/ubuntu/lucid/ghostscript/lucid-updates

« back to all changes in this revision

Viewing changes to debian/patches/CVE-2014-8158.dpatch

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2015-01-22 13:09:28 UTC
  • Revision ID: package-import@ubuntu.com-20150122130928-xatzfph16hrp2bof
Tags: 8.71.dfsg.1-0ubuntu5.7
* SECURITY UPDATE: denial of service via crafted ICC color profile
  - debian/patches/CVE-2014-8137.dpatch: prevent double-free in
    jasper/src/libjasper/base/jas_icc.c, remove assert in
    jasper/src/libjasper/jp2/jp2_dec.c.
  - CVE-2014-8137
* SECURITY UPDATE: denial of service or code execution via invalid
  channel number
  - debian/patches/CVE-2014-8138.dpatch: validate channel number in
    jasper/src/libjasper/jp2/jp2_dec.c.
  - CVE-2014-8138
* SECURITY UPDATE: denial of service or code execution via off-by-one
  - debian/patches/CVE-2014-8157.dpatch: fix off-by-one in
    jasper/src/libjasper/jpc/jpc_dec.c.
  - CVE-2014-8157
* SECURITY UPDATE: denial of service or code execution via memory
  corruption
  - debian/patches/CVE-2014-8158.dpatch: remove HAVE_VLA to use more
    sensible buffer sizes in jasper/src/libjasper/jpc/jpc_qmfb.c.
  - CVE-2014-8158

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/sh /usr/share/dpatch/dpatch-run
 
2
# Description: fix denial of service or code execution via memory corruption
 
3
# Origin: backport, http://pkgs.fedoraproject.org/cgit/jasper.git/tree/jasper-CVE-2014-8158.patch
 
4
# Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1179298
 
5
# Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=775970
 
6
 
 
7
@DPATCH@
 
8
diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' ghostscript-8.71.dfsg.1~/jasper/src/libjasper/jpc/jpc_qmfb.c ghostscript-8.71.dfsg.1/jasper/src/libjasper/jpc/jpc_qmfb.c
 
9
--- ghostscript-8.71.dfsg.1~/jasper/src/libjasper/jpc/jpc_qmfb.c        2015-01-22 13:07:37.000000000 -0500
 
10
+++ ghostscript-8.71.dfsg.1/jasper/src/libjasper/jpc/jpc_qmfb.c 2015-01-22 13:09:15.028448719 -0500
 
11
@@ -159,12 +159,8 @@
 
12
   jpc_fix_t *hstartptr, int hstartind, int hendind)
 
13
 {
 
14
        int bufsize = JPC_CEILDIVPOW2(endind - startind, 2);
 
15
-#if !defined(HAVE_VLA)
 
16
 #define QMFB_SPLITBUFSIZE 4096
 
17
        jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE];
 
18
-#else
 
19
-       jpc_fix_t splitbuf[bufsize];
 
20
-#endif
 
21
        jpc_fix_t *buf = splitbuf;
 
22
        int llen;
 
23
        int hlen;
 
24
@@ -180,7 +176,6 @@
 
25
        llen = lendind - lstartind;
 
26
        hlen = hendind - hstartind;
 
27
 
 
28
-#if !defined(HAVE_VLA)
 
29
        /* Get a buffer. */
 
30
        if (bufsize > QMFB_SPLITBUFSIZE) {
 
31
                if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
 
32
@@ -191,7 +186,6 @@
 
33
                        return;
 
34
                }
 
35
        }
 
36
-#endif
 
37
 
 
38
        if (hstartind < lstartind) {
 
39
                /* The first sample in the input signal is to appear
 
40
@@ -273,12 +267,10 @@
 
41
                }
 
42
        }
 
43
 
 
44
-#if !defined(HAVE_VLA)
 
45
        /* If the split buffer was allocated on the heap, free this memory. */
 
46
        if (buf != splitbuf) {
 
47
                jas_free(buf);
 
48
        }
 
49
-#endif
 
50
 }
 
51
 
 
52
 static void jpc_qmfb1d_join(jpc_fix_t *startptr, int startind, int endind,
 
53
@@ -286,12 +278,8 @@
 
54
   jpc_fix_t *hstartptr, int hstartind, int hendind)
 
55
 {
 
56
        int bufsize = JPC_CEILDIVPOW2(endind - startind, 2);
 
57
-#if !defined(HAVE_VLA)
 
58
 #define        QMFB_JOINBUFSIZE        4096
 
59
        jpc_fix_t joinbuf[QMFB_JOINBUFSIZE];
 
60
-#else
 
61
-       jpc_fix_t joinbuf[bufsize];
 
62
-#endif
 
63
        jpc_fix_t *buf = joinbuf;
 
64
        int llen;
 
65
        int hlen;
 
66
@@ -303,7 +291,6 @@
 
67
        register int n;
 
68
        int state;
 
69
 
 
70
-#if !defined(HAVE_VLA)
 
71
        /* Allocate memory for the join buffer from the heap. */
 
72
        if (bufsize > QMFB_JOINBUFSIZE) {
 
73
                if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
 
74
@@ -314,7 +301,6 @@
 
75
                        return;
 
76
                }
 
77
        }
 
78
-#endif
 
79
 
 
80
        twostep = step << 1;
 
81
        llen = lendind - lstartind;
 
82
@@ -401,12 +387,10 @@
 
83
                }
 
84
        }
 
85
 
 
86
-#if !defined(HAVE_VLA)
 
87
        /* If the join buffer was allocated on the heap, free this memory. */
 
88
        if (buf != joinbuf) {
 
89
                jas_free(buf);
 
90
        }
 
91
-#endif
 
92
 }
 
93
 
 
94
 /******************************************************************************\