Package: keepassx Version: 0.4.3+dfsg Severity: important Tags: patch upstream
Dear Maintainer, My Keepassx database has been updated on Android. In particular an icon has been changed. This make keepassx crash on Debian (gdb) r Starting program: /home/rousseau/Debian/keepassx-0.4.3+dfsg/bin/keepassx [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1". [New Thread 0xaf686b70 (LWP 2945)] [New Thread 0xaee85b70 (LWP 2946)] [Thread 0xaf686b70 (LWP 2945) exited] [New Thread 0xaf686b70 (LWP 2947)] [Thread 0xaf686b70 (LWP 2947) exited] [New Thread 0xaf686b70 (LWP 2948)] [New Thread 0xae35fb70 (LWP 2949)] [Thread 0xaf686b70 (LWP 2948) exited] [Thread 0xae35fb70 (LWP 2949) exited] Found Metastream: KPX_CUSTOM_ICONS_4 Found Metastream: KPX_GROUP_TREE_STATE Program received signal SIGSEGV, Segmentation fault. 0xb757e6eb in QPixmap::isNull() const () from /usr/lib/i386-linux-gnu/libQtGui.so.4 (gdb) bt #0 0xb757e6eb in QPixmap::isNull() const () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #1 0xb754e6ba in QIcon::addPixmap(QPixmap const&, QIcon::Mode, QIcon::State) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #2 0xb754e7a9 in QIcon::QIcon(QPixmap const&) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #3 0x08098001 in KeepassEntryView::updateEntry (this=0x828a418, item=0x85878a8) at lib/EntryView.cpp:334 #4 0x0809debb in KeepassEntryView::createItems ( this=this@entry=0x828a418, entries=...) at lib/EntryView.cpp:559 #5 0x0809df4a in KeepassEntryView::showGroup (this=0x828a418, group= 0x859f120) at lib/EntryView.cpp:547 #6 0x08103511 in KeepassEntryView::qt_static_metacall (_o=0x828a418, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfffd638) at ../build/moc/moc_EntryView.cpp:93 #7 0xb71fccd2 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #8 0x08103a87 in KeepassGroupView::groupChanged (this=0x8284810, _t1=0x859f120) at ../build/moc/moc_GroupView.cpp:142 #9 0xb71fccd2 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #10 0xb7ab63fd in QTreeWidget::currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #11 0xb7ab64b7 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #12 0xb71fccd2 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #13 0xb7a91cfd in QItemSelectionModel::currentChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #14 0xb7a91e7c in QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #15 0xb7a32597 in QAbstractItemView::setCurrentIndex(QModelIndex const&) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #16 0xb7ab4868 in QTreeWidget::setCurrentItem(QTreeWidgetItem*, int) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #17 0xb7ab48ab in QTreeWidget::setCurrentItem(QTreeWidgetItem*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 ---Type <return> to continue, or q <return> to quit--- #18 0x080a379b in KeepassGroupView::selectFirstGroup (this=0x8284810) at lib/GroupView.cpp:202 #19 0x08073592 in KeepassMainWindow::openDatabase (this=0x8271a30, filename=..., IsAuto=false) at mainwindow.cpp:513 #20 0x08074b34 in KeepassMainWindow::openFile (this=0x8271a30, filename=...) at mainwindow.cpp:612 #21 0x08074d04 in KeepassMainWindow::OnFileOpen (this=0x8271a30) at mainwindow.cpp:625 #22 0xb71fccd2 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #23 0xb749141d in QAction::triggered(bool) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #24 0xb74916bc in QAction::activate(QAction::ActionEvent) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #25 0xb7491864 in QAction::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #26 0xb749847c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #27 0xb749ce7f in QApplication::notify(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #28 0xb71e454e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #29 0xb74cfb6f in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #30 0xb74d117d in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #31 0xb749f19d in QApplication::notify(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #32 0xb71e454e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #33 0xb749657d in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #34 0xb7547038 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #35 0xb7547473 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #36 0xb7520935 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #37 0xb754b614 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #38 0xb6c856d3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 #39 0xb6c85a70 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #40 0xb6c85b51 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #41 0xb7216831 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #42 0xb754b1fa in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #43 0xb71e301c in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #44 0xb71e3311 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #45 0xb71e8a8a in QCoreApplication::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #46 0xb74962f4 in QApplication::exec() () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #47 0x0805f7aa in main (argc=1, argv=0xbfffefd4) at main.cpp:205 (gdb) In my case the problem is that the db->icon() returns -1 The patch is simple: --- Kdb3Database.cpp.old 2013-05-09 21:48:53.000000000 +0200 +++ Kdb3Database.cpp 2013-05-09 21:49:06.000000000 +0200 @@ -66,7 +66,7 @@ } QPixmap& Kdb3Database::icon(int i){ - if(i>=builtinIcons()+CustomIcons.size()) + if(i<0 || i>=builtinIcons()+CustomIcons.size()) return EntryIcons[0]; if(i<builtinIcons()) return EntryIcons[i]; The patch is for upstream but I don't know if upstream is still active with this version of Keepassx. Thanks -- System Information: Debian Release: 7.0 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: i386 (i686) Kernel: Linux 3.2.0-4-686-pae (SMP w/2 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash -- Dr. Ludovic Rousseau -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org