Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-1.9.git;a=commitdiff;h=51131376329cd2150d306d35eaf09eda456d5867

commit 51131376329cd2150d306d35eaf09eda456d5867
Author: kikadf <[email protected]>
Date:   Wed Apr 16 08:15:54 2014 +0200

jbigkit-2.0-3arcturus1-x86_64

* Fix CVE-2013-6369

diff --git a/source/lib-extra/jbigkit/CVE-2013-6369.patch 
b/source/lib-extra/jbigkit/CVE-2013-6369.patch
new file mode 100644
index 0000000..8b46df6
--- /dev/null
+++ b/source/lib-extra/jbigkit/CVE-2013-6369.patch
@@ -0,0 +1,52 @@
+Description: CVE-2013-6369
+Patch by upstream
+
+--- jbigkit-2.0.orig/libjbig/jbig.c
++++ jbigkit-2.0/libjbig/jbig.c
+@@ -1747,7 +1747,7 @@ void jbg_int2dppriv(unsigned char *dptab
+ #define FILL_TABLE1(offset, len, trans) \
+   for (i = 0; i < len; i++) { \
+     k = 0; \
+-    for (j = 0; j < 8; j++) \
++    for (j = 0; i >> j; j++) \
+       k |= ((i >> j) & 1) << trans[j]; \
+     dptable[(i + offset) >> 2] |= \
+       (internal[k + offset] & 3) << ((3 - (i&3)) << 1); \
+@@ -1778,7 +1778,7 @@ void jbg_dppriv2int(char *internal, cons
+ #define FILL_TABLE2(offset, len, trans) \
+   for (i = 0; i < len; i++) { \
+     k = 0; \
+-    for (j = 0; j < 8; j++) \
++    for (j = 0; i >> j; j++) \
+       k |= ((i >> j) & 1) << trans[j]; \
+     internal[k + offset] = \
+       (dptable[(i + offset) >> 2] >> ((3 - (i & 3)) << 1)) & 3; \
+@@ -2583,6 +2583,7 @@ int jbg_dec_in(struct jbg_dec_state *s,
+   unsigned long x, y;
+   unsigned long is[3], ie[3];
+   size_t dummy_cnt;
++  unsigned char *dppriv;
+
+   if (!cnt) cnt = &dummy_cnt;
+   *cnt = 0;
+@@ -2720,13 +2721,16 @@ int jbg_dec_in(struct jbg_dec_state *s,
+       (s->options & (JBG_DPON | JBG_DPPRIV | JBG_DPLAST)) ==
+       (JBG_DPON | JBG_DPPRIV)) {
+     assert(s->bie_len >= 20);
++    if (!s->dppriv || s->dppriv == jbg_dptable)
++      s->dppriv = (char *) checked_malloc(1728, sizeof(char));
+     while (s->bie_len < 20 + 1728 && *cnt < len)
+-      s->buffer[s->bie_len++ - 20] = data[(*cnt)++];
++      s->dppriv[s->bie_len++ - 20] = data[(*cnt)++];
+     if (s->bie_len < 20 + 1728)
+       return JBG_EAGAIN;
+-    if (!s->dppriv || s->dppriv == jbg_dptable)
+-      s->dppriv = (char *) checked_malloc(1728, sizeof(char));
+-    jbg_dppriv2int(s->dppriv, s->buffer);
++    dppriv = s->dppriv;
++    s->dppriv = (char *) checked_malloc(6912, sizeof(char));
++    jbg_dppriv2int(s->dppriv, dppriv);
++    checked_free(dppriv);
+   }
+
+   /*
diff --git a/source/lib-extra/jbigkit/FrugalBuild 
b/source/lib-extra/jbigkit/FrugalBuild
index 3295abd..fc35016 100644
--- a/source/lib-extra/jbigkit/FrugalBuild
+++ b/source/lib-extra/jbigkit/FrugalBuild
@@ -3,7 +3,7 @@

pkgname=jbigkit
pkgver=2.0
-pkgrel=2
+pkgrel=3arcturus1
url="http://www.cl.cam.ac.uk/~mgk25/jbigkit/";
pkgdesc="JBIG-KIT implements a highly effective data compression algorithm for 
bi-level high-resolution images such as fax pages or scanned documents."
depends=('glibc')
@@ -15,8 +15,15 @@ 
source=(http://www.cl.cam.ac.uk/~mgk25/download/${pkgname}-${pkgver}.tar.gz)
sha1sums=('cfb7d3121f02a74bfb229217858a0d149b6589ef')
_F_cd_path=${pkgname}

+# FSA fix ***
+source=(${source[@]} CVE-2013-6369.patch)
+sha1sums=(${sha1sums[@]} 'a1ed6d68ea56ba0ada1a0eb4772619d4ca18ee12')
+# ***********
+
+
build() {
Fsed '-O2 -W' "${CFLAGS}" Makefile
+       Fpatchall
Fmake
make test || Fdie
Ffile ${_F_cd_path}/libjbig/libjbig.a /usr/lib/libjbig.a
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to