[SCM] Qt 4 packaging branch, master, updated. debian/4.8.6+git64-g5dc8b2b+dfsg-1-3-gd4e6eca
Adam Majer
adamm at moszumanska.debian.org
Thu Sep 4 16:52:56 UTC 2014
Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qt4-x11.git;a=commitdiff;h=d4e6eca
The following commit has been merged in the master branch:
commit d4e6ecaa4a221a981cdd9b0461549aa1f63a9409
Author: Adam Majer <adamm at zombino.com>
Date: Thu Sep 4 11:51:28 2014 -0500
Cherry-pick stack overflow fix from 5.4.x branch
Author: Kamil Rojewski <kamil.rojewski at gmail.com>
Date: Wed Aug 13 10:38:38 2014 +0200
fix for stack overflow
Recursion in item mapping iterator caused a stack overflow for
large datasets.
Task-number: QTBUG-40153
Change-Id: I693798de0ecfd3a920a3dd270172ce7ec3c13d8d
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki at digia.com>
---
debian/patches/series | 1 +
debian/patches/xmlpatterns_stack_overflow_fix.diff | 60 ++++++++++++++++++++++
2 files changed, 61 insertions(+)
diff --git a/debian/patches/series b/debian/patches/series
index cbb6eae..78c11b7 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,6 +2,7 @@
Add_support_for_QT_USE_DRAG_DISTANCE_env_var.patch
QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch
dont_crash_on_broken_gif_images.patch
+xmlpatterns_stack_overflow_fix.diff
# Patches submitted upstream but still not accepted
aarch64_arm64_fix_arch_detection.patch
diff --git a/debian/patches/xmlpatterns_stack_overflow_fix.diff b/debian/patches/xmlpatterns_stack_overflow_fix.diff
new file mode 100644
index 0000000..daf1ee7
--- /dev/null
+++ b/debian/patches/xmlpatterns_stack_overflow_fix.diff
@@ -0,0 +1,60 @@
+commit d1b17740ed4d9b1e3c3ad5898bb8259969dc77df
+Author: Kamil Rojewski <kamil.rojewski at gmail.com>
+Date: Wed Aug 13 10:38:38 2014 +0200
+
+ fix for stack overflow
+
+ Recursion in item mapping iterator caused a stack
+ overflow for large datasets.
+
+ Task-number: QTBUG-40153
+ Change-Id: I693798de0ecfd3a920a3dd270172ce7ec3c13d8d
+ Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki at digia.com>
+
+Index: qt4-x11/src/xmlpatterns/iterators/qitemmappingiterator_p.h
+===================================================================
+--- qt4-x11.orig/src/xmlpatterns/iterators/qitemmappingiterator_p.h 2014-09-04 11:47:43.979391542 -0500
++++ qt4-x11/src/xmlpatterns/iterators/qitemmappingiterator_p.h 2014-09-04 11:47:43.975391542 -0500
+@@ -117,24 +117,28 @@
+ */
+ virtual TResult next()
+ {
+- const TSource sourceItem(m_it->next());
+-
+- if(qIsForwardIteratorEnd(sourceItem))
++ while (true)
+ {
+- m_current = TResult();
+- m_position = -1;
+- return TResult();
+- }
+- else
+- {
+- m_current = m_mapper->mapToItem(sourceItem, m_context);
+- if(qIsForwardIteratorEnd(m_current))
+- return next(); /* The mapper returned null, so continue with the next in the source. */
+- else
++ const TSource &sourceItem = m_it->next();
++ if (qIsForwardIteratorEnd(sourceItem))
+ {
+- ++m_position;
++ m_current = TResult();
++ m_position = -1;
+ return m_current;
+ }
++ else
++ {
++ m_current = m_mapper->mapToItem(sourceItem, m_context);
++ if (qIsForwardIteratorEnd(m_current))
++ {
++ continue; /* The mapper returned null, so continue with the next in the source. */
++ }
++ else
++ {
++ ++m_position;
++ return m_current;
++ }
++ }
+ }
+ }
+
--
Qt 4 packaging
More information about the pkg-kde-commits
mailing list