[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#815598: marked as done (jessie-pu: package clamav/0.99+dfsg-0+deb8u2)



Your message dated Sat, 02 Apr 2016 14:20:04 +0100
with message-id <1459603204.2441.216.camel@adam-barratt.org.uk>
and subject line Fix included in stable
has caused the Debian Bug report #815598,
regarding jessie-pu: package clamav/0.99+dfsg-0+deb8u2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
815598: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815598
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
User: release.debian.org@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.000000000 +0100
+++ clamav-0.99+dfsg/debian/changelog	2016-02-22 21:15:44.000000000 +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 <sebastian@breakpoint.cc>  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-dpm	2015-12-11 21:20:24.000000000 +0100
+++ clamav-0.99+dfsg/debian/.git-dpm	2016-02-22 21:15:44.000000000 +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.000000000 +0100
+++ clamav-0.99+dfsg/debian/patches/libclamav-yara-avoid-unaliged-access-to-64bit-variab.patch	2016-02-22 21:15:44.000000000 +0100
@@ -0,0 +1,94 @@
+From bbc0790fa239ec754ca1693244acacd2e55f97b5 Mon Sep 17 00:00:00 2001
+From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+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 <sebastian@breakpoint.cc>
+---
+ 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(&r1, 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(&r1, ip + 1, sizeof(uint64_t));
+         ip += sizeof(uint64_t);
+         mem[r1] = 0;
+         break;
+ 
+       case OP_ADD_M:
+-        r1 = *(uint64_t*)(ip + 1);
++        memcpy(&r1, 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(&r1, ip + 1, sizeof(uint64_t));
+         ip += sizeof(uint64_t);
+         mem[r1]++;
+         break;
+ 
+       case OP_PUSH_M:
+-        r1 = *(uint64_t*)(ip + 1);
++        memcpy(&r1, ip + 1, sizeof(uint64_t));
+         ip += sizeof(uint64_t);
+         push(mem[r1]);
+         break;
+ 
+       case OP_POP_M:
+-        r1 = *(uint64_t*)(ip + 1);
++        memcpy(&r1, ip + 1, sizeof(uint64_t));
+         ip += sizeof(uint64_t);
+         pop(mem[r1]);
+         break;
+ 
+       case OP_SWAPUNDEF:
+-        r1 = *(uint64_t*)(ip + 1);
++        memcpy(&r1, 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(&r1, 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(&r1, ip + 1, sizeof(uint64_t));
+         ip += sizeof(uint64_t);
+ 
+         FAIL_ON_ERROR(yr_modules_load(
diff -Nru clamav-0.99+dfsg/debian/patches/series clamav-0.99+dfsg/debian/patches/series
--- clamav-0.99+dfsg/debian/patches/series	2015-12-11 21:20:24.000000000 +0100
+++ clamav-0.99+dfsg/debian/patches/series	2016-02-22 21:15:44.000000000 +0100
@@ -8,3 +8,4 @@
 clamav_add_private_fts_implementation.patch
 fix-ssize_t-size_t-off_t-printf-modifier.patch
 libclamav-use-libmspack.patch
+libclamav-yara-avoid-unaliged-access-to-64bit-variab.patch

--- End Message ---
--- Begin Message ---
Version: 8.4

Hi,

The packages referenced by these bugs were included in today's stable
point release.

Regards,

Adam

--- End Message ---

Reply to: