[SCM] QCA2 library packaging branch, master, updated. debian/2.1.1-3-1-gff55816

Felix Geyer fgeyer at moszumanska.debian.org
Tue Nov 15 20:09:30 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-req/qca2.git;a=commitdiff;h=ff55816

The following commit has been merged in the master branch:
commit ff558160e3a93c5718cbbb387f8bdc21a37d94db
Author: Felix Geyer <fgeyer at debian.org>
Date:   Tue Nov 15 21:09:24 2016 +0100

    Fix FTBFS on architectures where char is unsigned.
    
    * Fix FTBFS on architectures where char is unsigned.
      - Add fix_base64_decoding_on_ARM.diff
---
 debian/changelog                               |  7 +++++
 debian/patches/fix_base64_decoding_on_ARM.diff | 36 ++++++++++++++++++++++++++
 debian/patches/series                          |  1 +
 3 files changed, 44 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index cc9bb38..d1937c7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+qca2 (2.1.1-4) unstable; urgency=medium
+
+  * Fix FTBFS on architectures where char is unsigned.
+    - Add fix_base64_decoding_on_ARM.diff
+
+ -- Felix Geyer <fgeyer at debian.org>  Tue, 15 Nov 2016 21:07:14 +0100
+
 qca2 (2.1.1-3) unstable; urgency=medium
 
   * Keep using openssl 1.0 since upstream doesn't support 1.1 and adapting
diff --git a/debian/patches/fix_base64_decoding_on_ARM.diff b/debian/patches/fix_base64_decoding_on_ARM.diff
new file mode 100644
index 0000000..d200331
--- /dev/null
+++ b/debian/patches/fix_base64_decoding_on_ARM.diff
@@ -0,0 +1,36 @@
+From 601fd3a05141c614ae48a3ddac44194d669eaae1 Mon Sep 17 00:00:00 2001
+From: Rolf Eike Beer <eb at emlix.com>
+Date: Mon, 27 Jun 2016 12:55:51 +0200
+Subject: fix base64 decoding on ARM
+
+This code was broken on ARM and other architectures where "char" is unsigned by
+default.
+
+First, it breaks with newer compilers with errors like:
+
+  .../src/qca_textfilter.cpp:314:2: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
+
+Second, if the compiler would just allow this conversion then the unsigned char
+would hold 255, which would not be sign extended when cast to an int later, so
+all the checks "< 0" will never trigger, and so invalid input characters cannot
+be detected.
+
+REVIEW:128295
+BUG:364495
+---
+ src/qca_textfilter.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/qca_textfilter.cpp b/src/qca_textfilter.cpp
+index 9889a24..3baf511 100644
+--- a/src/qca_textfilter.cpp
++++ b/src/qca_textfilter.cpp
+@@ -293,7 +293,7 @@ static QByteArray b64decode(const QByteArray &s, bool *ok)
+ 	// 64 specifies eof
+ 	// everything else specifies data
+ 
+-	static char tbl[] =
++	static signed char tbl[] =
+ 	{
+ 		-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+ 		-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
diff --git a/debian/patches/series b/debian/patches/series
index 4e58554..8665f0a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@ pipeunittest_more_wait.diff
 hurd_msync.diff
 kubuntu_ignore_filewatch_test.diff
 fix_build_without_sslv3.diff
+fix_base64_decoding_on_ARM.diff

-- 
QCA2 library packaging



More information about the pkg-kde-commits mailing list