Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=49397fd78958d807b6f1c2260102539e6e78c65e

commit 49397fd78958d807b6f1c2260102539e6e78c65e
Author: DeX77 <[email protected]>
Date:   Mon May 22 20:07:07 2017 +0200

squashfs-4.3-3-x86_64

* add some patches

diff --git a/source/apps-extra/squashfs/2gb.patch 
b/source/apps-extra/squashfs/2gb.patch
new file mode 100644
index 0000000..33e9108
--- /dev/null
+++ b/source/apps-extra/squashfs/2gb.patch
@@ -0,0 +1,11 @@
+--- squashfs-tools/mksquashfs.c.orig   2014-09-13 11:08:27.352318167 -0500
++++ squashfs-tools/mksquashfs.c        2014-09-13 11:09:36.701132044 -0500
+@@ -2055,7 +2055,7 @@
+
+ inline int is_fragment(struct inode_info *inode)
+ {
+-      int file_size = inode->buf.st_size;
++      off_t file_size = inode->buf.st_size;
+
+       /*
+        * If this block is to be compressed differently to the
diff --git a/source/apps-extra/squashfs/FrugalBuild 
b/source/apps-extra/squashfs/FrugalBuild
index ecc2388..ce1ee70 100644
--- a/source/apps-extra/squashfs/FrugalBuild
+++ b/source/apps-extra/squashfs/FrugalBuild
@@ -3,7 +3,7 @@

pkgname=squashfs
pkgver=4.3
-pkgrel=2
+pkgrel=3
pkgdesc="A compressed read-only filesystem."
depends=('lz4' 'zlib' 'xz' 'lzo')
groups=('apps-extra')
@@ -11,13 +11,21 @@ archs=('i686' 'x86_64')
_F_sourceforge_subdir="/$pkgname/"
_F_sourceforge_sep="None"
Finclude sourceforge
-sha1sums=('a615979db9cee82e4a934a1455577f597d290b41')
+source+=(2gb.patch \
+       local-cve-fix.patch \
+       mem-overflow.patch)
+sha1sums=('a615979db9cee82e4a934a1455577f597d290b41' \
+          '0d57deaf46df5667dd0d681f611190b58e0134b1' \
+          '7ac3b6a6a06dd3804cd6ef20a54adcd9b6373e50' \
+          '23af12e8dcf4baef141b43b2c72621d583f80914')
_F_cd_path="$pkgname$pkgver/$pkgname-tools"

build()
{
+       Fpatchall
+       Fcd
Fsed "/usr/local/bin" "$Fdestdir/usr/bin" Makefile
-       make XZ_SUPPORT=1 LZO_SUPPORT=1 LZMA_XZ_SUPPORT=1 LZ4_SUPPORT=1 || Fdie
+       Fexec make XZ_SUPPORT=1 LZO_SUPPORT=1 LZMA_XZ_SUPPORT=1 LZ4_SUPPORT=1 
|| Fdie
Fmakeinstall
}

diff --git a/source/apps-extra/squashfs/local-cve-fix.patch 
b/source/apps-extra/squashfs/local-cve-fix.patch
new file mode 100644
index 0000000..e9b0d90
--- /dev/null
+++ b/source/apps-extra/squashfs/local-cve-fix.patch
@@ -0,0 +1,12 @@
+diff -Naur squashfs4.3/squashfs-tools/unsquash-4.c 
squashfs4.3.new/squashfs-tools/unsquash-4.c
+--- squashfs-tools/unsquash-4.c        2014-03-09 06:31:59.000000000 +0100
++++ squashfs-tools/unsquash-4.c        2017-05-22 20:00:02.000000000 +0200
+@@ -35,7 +35,7 @@
+       int  indexes = SQUASHFS_FRAGMENT_INDEXES(sBlk.s.fragments);
+       long long fragment_table_index[indexes];
+
+-      TRACE("read_fragment_table: %d fragments, reading %d fragment indexes "
++      TRACE("read_fragment_table: %u fragments, reading %zu fragment indexes "
+               "from 0x%llx\n", sBlk.s.fragments, indexes,
+               sBlk.s.fragment_table_start);
+
diff --git a/source/apps-extra/squashfs/mem-overflow.patch 
b/source/apps-extra/squashfs/mem-overflow.patch
new file mode 100644
index 0000000..4c51f85
--- /dev/null
+++ b/source/apps-extra/squashfs/mem-overflow.patch
@@ -0,0 +1,21 @@
+diff -Naur squashfs4.3/squashfs-tools/mksquashfs.c 
squashfs4.3.new/squashfs-tools/mksquashfs.c
+--- squashfs-tools/mksquashfs.c        2014-05-13 00:18:20.000000000 +0200
++++ squashfs-tools/mksquashfs.c        2017-05-22 19:57:45.000000000 +0200
+@@ -5131,7 +5131,16 @@
+                                        argv[0]);
+                               exit(1);
+                       }
+-                      /* convert from bytes to Mbytes */
++
++                      /*
++                       * convert from bytes to Mbytes, ensuring the value
++                       * does not overflow a signed int
++                       */
++                      if(number >= (1LL << 51)) {
++                              ERROR("%s: -mem invalid mem size\n", argv[0]);
++                              exit(1);
++                      }
++
+                       total_mem = number / 1048576;
+                       if(total_mem < (SQUASHFS_LOWMEM / SQUASHFS_TAKE)) {
+                               ERROR("%s: -mem should be %d Mbytes or "
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to