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

Bug#988095: unblock: pev/0.81-3



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

<URL: https://tracker.debian.org/pkg/pev >

Please unblock package pev version 0.81-3 used by lintian.  It include a
patch from upstream to fix the RC issue
<URL: https://bugs.debian.org/987959 >.

While looking at the package I noticed a CI failure on s390x, most
likely because the gzip-win32 package there do not include gzip.exe, and
adjusted the autopkgtest to try to make sure this is the case.  This is
not RC as such, but I included it anyway as the CI results is a key part
of the migration process these days.

As the issue is RC, the package is used by lintian which is fairly
important in Debian, and 20 days from now might be after the release of
Bullseye, I decided to file a unblock request even thought it might not
be needed.

This is the complete patch between 0.81-2 and 0.81-3:

diff --git a/debian/changelog b/debian/changelog
index e11e3ed..94b091e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+pev (0.81-3) unstable; urgency=medium
+
+  * QA upload.
+  * Avoid off-by-one error in libpe pe_utils_str_widechar2ascii()
+    (Closes: #987959)
+  * Extended autopkgtest to report if the Windows EXE file is missing.
+
+ -- Petter Reinholdtsen <pere@debian.org>  Wed, 05 May 2021 14:09:18 +0200
+
 pev (0.81-2) unstable; urgency=medium
 
   * QA upload.
diff --git a/debian/patches/0001-widechar-off-by-one.patch b/debian/patches/0001-widechar-off-by-one.patch
new file mode 100644
index 0000000..d5eedab
--- /dev/null
+++ b/debian/patches/0001-widechar-off-by-one.patch
@@ -0,0 +1,24 @@
+From 5737a97c57be175333fc0c6f51bb2cdd7101c17e Mon Sep 17 00:00:00 2001
+From: Jardel Weyrich <jweyrich@gmail.com>
+Date: Mon, 18 Jan 2021 22:03:49 -0300
+Subject: [PATCH] utils: Fix off-by-one error in pe_utils_str_widechar2ascii.
+Bug-Debian: https://bugs.debian.org/987959
+Origin: https://github.com/merces/libpe/commit/5737a97c57be175333fc0c6f51bb2cdd7101c17e
+
+---
+ utils.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/utils.c b/utils.c
+index bd2da84..f05ba67 100644
+--- a/lib/libpe/utils.c
++++ b/lib/libpe/utils.c
+@@ -132,7 +132,7 @@ char *pe_utils_str_array_join(char *strings[], size_t count, char delimiter) {
+ 
+ void pe_utils_str_widechar2ascii(char *output, const char *widechar, size_t length) {
+       // quick & dirty UFT16 to ASCII conversion
+-      for (size_t p = 0; p <= length; p++) {
++      for (size_t p = 0; p < length; p++) {
+               memcpy(output + p, (uint16_t *)(widechar) + p, 1);
+       }
+ }
diff --git a/debian/patches/series b/debian/patches/series
index e69de29..35c0990 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -0,0 +1 @@
+0001-widechar-off-by-one.patch
diff --git a/debian/tests/test-runs b/debian/tests/test-runs
index d99db19..675d4ec 100755
--- a/debian/tests/test-runs
+++ b/debian/tests/test-runs
@@ -20,14 +20,23 @@ else
     VALGRIND=
 fi
 
-if $VALGRIND pesec /usr/share/win32/gzip.exe | grep ASLR; then
+TESTEXE="/usr/share/win32/gzip.exe"
+
+# Detect problem on s390x
+if [ ! -e "$TESTEXE" ] ; then
+    echo "error: missing gzip.exe.  No such file in gzip-win32?"
+    dpkg -L gzip-win32
+    exit 1
+fi
+
+if $VALGRIND pesec "$TESTEXE" | grep ASLR; then
     echo "success: pesec reported ASLR status"
 else
     echo "error: pesec did not report ASLR status"
     retval=1
 fi
 
-if $VALGRIND pehash /usr/share/win32/gzip.exe | grep sha256:; then
+if $VALGRIND pehash "$TESTEXE" | grep sha256:; then
     echo "success: pehash reported ASLR status"
 else
     echo "error: pehash did not report ASLR status"

-- 
Happy hacking
Petter Reinholdtsen


Reply to: