summaryrefslogtreecommitdiff
path: root/debian/patches/allignment.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/allignment.patch')
-rw-r--r--debian/patches/allignment.patch27
1 files changed, 0 insertions, 27 deletions
diff --git a/debian/patches/allignment.patch b/debian/patches/allignment.patch
deleted file mode 100644
index dd719f6..0000000
--- a/debian/patches/allignment.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From: Michal Čihař <nijel@debian.org>
-Subject: Fix unalligned access to buffer.
-
-On several architectures (arm, armel, sparc and ia64), unalligned access to
-integers is not allowed. Buffer in this function is not alligned at all and
-attempt to read integer from it causes crash of application on such
-architectures.
-
-Bug: https://sourceforge.net/tracker/index.php?func=detail&aid=2149388&group_id=122858&atid=694730
---- a/src/lib/lib.cpp
-+++ b/src/lib/lib.cpp
-@@ -496,9 +496,13 @@
- entries[i].keystr=p;
- len=strlen(p);
- p+=len+1;
-- entries[i].off=g_ntohl(*reinterpret_cast<guint32 *>(p));
-+ /*
-+ * Can not use typecasting here, because *data does not have
-+ * to be alligned and unalligned access fails on some architectures.
-+ */
-+ entries[i].off=((unsigned char)p[0] << 24) | ((unsigned char)p[1] << 16) | ((unsigned char)p[2] << 8) | (unsigned char)p[3];
- p+=sizeof(guint32);
-- entries[i].size=g_ntohl(*reinterpret_cast<guint32 *>(p));
-+ entries[i].size=((unsigned char)p[0] << 24) | ((unsigned char)p[1] << 16) | ((unsigned char)p[2] << 8) | (unsigned char)p[3];
- p+=sizeof(guint32);
- }
- }