Bug#815598: jessie-pu: package clamav/0.99+dfsg-0+deb8u2

2016-02-23 Thread Julien Cristau
Control: tag -1 pending

On Mon, Feb 22, 2016 at 23:04:18 +0100, Sebastian Andrzej Siewior wrote:

> On 2016-02-22 21:43:45 [+], Adam D. Barratt wrote:
> > Please go ahead.
> Thanks, done.
> 
Marked for accept.

Cheers,
Julien



Bug#815598: jessie-pu: package clamav/0.99+dfsg-0+deb8u2

2016-02-22 Thread Sebastian Andrzej Siewior
On 2016-02-22 21:43:45 [+], Adam D. Barratt wrote:
> Please go ahead.
Thanks, done.

> Regards,
> 
> Adam

Sebastian



Bug#815598: jessie-pu: package clamav/0.99+dfsg-0+deb8u2

2016-02-22 Thread Adam D. Barratt
Control: tags -1 + confirmed

On Mon, 2016-02-22 at 22:09 +0100, Sebastian Andrzej Siewior wrote:
> In order to address the Sparc fallout in the Wheezy update (#814544), here
> is the fix for Jessie. This patch is also part of last unstable upload
> (0.99+dfsg-2).

Please go ahead.

Regards,

Adam



Bug#815598: jessie-pu: package clamav/0.99+dfsg-0+deb8u2

2016-02-22 Thread Sebastian Andrzej Siewior
Package: release.debian.org
User: release.debian@packages.debian.org
Usertags: pu
Tags: jessie
Severity: normal

In order to address the Sparc fallout in the Wheezy update (#814544), here
is the fix for Jessie. This patch is also part of last unstable upload
(0.99+dfsg-2).

Sebastian
diff -Nru clamav-0.99+dfsg/debian/changelog clamav-0.99+dfsg/debian/changelog
--- clamav-0.99+dfsg/debian/changelog   2015-12-14 21:44:42.0 +0100
+++ clamav-0.99+dfsg/debian/changelog   2016-02-22 21:15:44.0 +0100
@@ -1,3 +1,10 @@
+clamav (0.99+dfsg-0+deb8u2) stable; urgency=medium
+
+  * Add libclamav-yara-avoid-unaliged-access-to-64bit-variab.patch to get the
+testsuite passed on sparc. It also seem avoid invalid loads on ARMv5 cpus.
+
+ -- Sebastian Andrzej Siewior   Mon, 22 Feb 2016 
21:12:51 +0100
+
 clamav (0.99+dfsg-0+deb8u1) stable; urgency=medium
 
   [ Andreas Cadhalpun ]
diff -Nru clamav-0.99+dfsg/debian/.git-dpm clamav-0.99+dfsg/debian/.git-dpm
--- clamav-0.99+dfsg/debian/.git-dpm2015-12-11 21:20:24.0 +0100
+++ clamav-0.99+dfsg/debian/.git-dpm2016-02-22 21:15:44.0 +0100
@@ -1,6 +1,6 @@
 # see git-dpm(1) from git-dpm package
-1cc3015d9abdb6a121251aab899dc1baf3117baf
-1cc3015d9abdb6a121251aab899dc1baf3117baf
+bbc0790fa239ec754ca1693244acacd2e55f97b5
+bbc0790fa239ec754ca1693244acacd2e55f97b5
 30b6c6f47c6648ee0ba78a71d4664f5917d83bcb
 30b6c6f47c6648ee0ba78a71d4664f5917d83bcb
 clamav_0.99+dfsg.orig.tar.xz
diff -Nru 
clamav-0.99+dfsg/debian/patches/libclamav-yara-avoid-unaliged-access-to-64bit-variab.patch
 
clamav-0.99+dfsg/debian/patches/libclamav-yara-avoid-unaliged-access-to-64bit-variab.patch
--- 
clamav-0.99+dfsg/debian/patches/libclamav-yara-avoid-unaliged-access-to-64bit-variab.patch
  1970-01-01 01:00:00.0 +0100
+++ 
clamav-0.99+dfsg/debian/patches/libclamav-yara-avoid-unaliged-access-to-64bit-variab.patch
  2016-02-22 21:15:44.0 +0100
@@ -0,0 +1,94 @@
+From bbc0790fa239ec754ca1693244acacd2e55f97b5 Mon Sep 17 00:00:00 2001
+From: Sebastian Andrzej Siewior 
+Date: Sat, 20 Feb 2016 15:53:48 +0100
+Subject: libclamav: yara: avoid unaliged access to 64bit variable
+
+The derefence of an unaligned 64bit variable results in a SIGBUS abort
+on 32bit SPARC. ARMv5 CPUs seem to perform the load but load garbish.
+This memcpy() workaround forces the compiler to do something that works
+on even if the data was not properly aligned. For X86 it means no
+change. ARM on other hand will produce slightly different code depending
+on the CPU used.
+
+Patch-Name: libclamav-yara-avoid-unaliged-access-to-64bit-variab.patch
+Signed-off-by: Sebastian Andrzej Siewior 
+---
+ libclamav/yara_exec.c | 18 +-
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/libclamav/yara_exec.c b/libclamav/yara_exec.c
+index dbd7ae8..808a030 100644
+--- a/libclamav/yara_exec.c
 b/libclamav/yara_exec.c
+@@ -184,7 +184,7 @@ int yr_execute_code(
+ #endif
+ 
+   case OP_PUSH:
+-r1 = *(uint64_t*)(ip + 1);
++memcpy(, ip + 1, sizeof(uint64_t));
+ ip += sizeof(uint64_t);
+ push(r1);
+ break;
+@@ -194,38 +194,38 @@ int yr_execute_code(
+ break;
+ 
+   case OP_CLEAR_M:
+-r1 = *(uint64_t*)(ip + 1);
++memcpy(, ip + 1, sizeof(uint64_t));
+ ip += sizeof(uint64_t);
+ mem[r1] = 0;
+ break;
+ 
+   case OP_ADD_M:
+-r1 = *(uint64_t*)(ip + 1);
++memcpy(, ip + 1, sizeof(uint64_t));
+ ip += sizeof(uint64_t);
+ pop(r2);
+ mem[r1] += r2;
+ break;
+ 
+   case OP_INCR_M:
+-r1 = *(uint64_t*)(ip + 1);
++memcpy(, ip + 1, sizeof(uint64_t));
+ ip += sizeof(uint64_t);
+ mem[r1]++;
+ break;
+ 
+   case OP_PUSH_M:
+-r1 = *(uint64_t*)(ip + 1);
++memcpy(, ip + 1, sizeof(uint64_t));
+ ip += sizeof(uint64_t);
+ push(mem[r1]);
+ break;
+ 
+   case OP_POP_M:
+-r1 = *(uint64_t*)(ip + 1);
++memcpy(, ip + 1, sizeof(uint64_t));
+ ip += sizeof(uint64_t);
+ pop(mem[r1]);
+ break;
+ 
+   case OP_SWAPUNDEF:
+-r1 = *(uint64_t*)(ip + 1);
++memcpy(, ip + 1, sizeof(uint64_t));
+ ip += sizeof(uint64_t);
+ pop(r2);
+ if (r2 != UNDEFINED)
+@@ -540,7 +540,7 @@ int yr_execute_code(
+ 
+ // r1 = number of arguments
+ 
+-r1 = *(uint64_t*)(ip + 1);
++memcpy(, ip + 1, sizeof(uint64_t));
+ ip += sizeof(uint64_t);
+ 
+ // pop arguments from stack and copy them to args array
+@@ -854,7 +854,7 @@ int yr_execute_code(
+ 
+ #if REAL_YARA //not supported ClamAV
+   case OP_IMPORT:
+-r1 = *(uint64_t*)(ip + 1);
++memcpy(, ip + 1, sizeof(uint64_t));
+ ip += sizeof(uint64_t);
+ 
+ FAIL_ON_ERROR(yr_modules_load(
diff -Nru clamav-0.99+dfsg/debian/patches/series