#0 0x00007fb635e91184 in __pthread_kill_implementation () from /usr/lib/x86_64-linux-gnu/libc.so.6 #1 0x00007fb635e3f00e in raise () from /usr/lib/x86_64-linux-gnu/libc.so.6 #2 0x00007fb635e287fc in abort () from /usr/lib/x86_64-linux-gnu/libc.so.6 #3 0x00007fb63669dc8f in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007fb63669cfe8 in qt_assert(char const*, char const*, int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x000055a5d0e305e4 in QString::operator[] (i=1, this=<optimized out>) at /usr/include/QtCore/qstring.h:1074 #6 0x000055a5d0e30648 in QString::operator[] (this=<optimized out>, i=1) at /run/build/neochat/src/texthandler.cpp:244 #7 TextHandler::getTagType (this=<optimized out>) at /run/build/neochat/src/texthandler.cpp:241 #8 0x000055a5d0fd5779 in TextHandler::nextTokenType (this=0x7ffeb4159370) at /run/build/neochat/src/texthandler.cpp:229 #9 0x000055a5d0fd7ba7 in TextHandler::nextTokenType (this=0x7ffeb4159370) at /run/build/neochat/src/texthandler.cpp:144 #10 TextHandler::handleRecieveRichText (this=this@entry=0x7ffeb4159370, inputFormat=<optimized out>, room=0x55a5d4333300, event=event@entry=0x55a5d573bce0, stripNewlines=<optimized out>) at /run/build/neochat/src/texthandler.cpp:116 #11 0x000055a5d0f951e5 in operator() (e=..., __closure=0x7ffeb4159310) at /run/build/neochat/src/neochatroom.cpp:491 #12 Quotient::switchOnType<Quotient::RoomEvent, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomMessageEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::StickerEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomMemberEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomCanonicalAliasEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomNameEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomTopicEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomAvatarEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::EncryptionEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomCreateEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomPowerLevelsEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::StateEventBase&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::PollStartEvent&)>, QString> (fn1=..., event=...) at /app/include/Quotient/events/event.h:620 #13 NeoChatRoom::eventToString (this=<optimized out>, evt=..., format=format@entry=Qt::RichText, stripNewlines=stripNewlines@entry=false) at /run/build/neochat/src/neochatroom.cpp:648 #14 0x000055a5d0f76031 in MessageEventModel::data (this=0x55a5d6827300, idx=..., role=0) at /run/build/neochat/src/models/messageeventmodel.cpp:474 #15 0x00007fb636897d31 in QSortFilterProxyModel::data(QModelIndex const&, int) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #16 0x000055a5d0fc2026 in CollapseStateProxyModel::data (this=0x55a5d62ef170, index=..., role=0) at /run/build/neochat/src/models/collapsestateproxymodel.cpp:28 #17 0x00007fb6365b6230 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5QmlModels.so.5 #18 0x00007fb6389a8976 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #19 0x00007fb60400015f in ?? () #20 0x0000000000000000 in ?? ()
Fixed in f8040a1bf6de26abe3a0cc1c64b9608f5bd2fdea
Git commit f8040a1bf6de26abe3a0cc1c64b9608f5bd2fdea by James Graham. Committed on 15/04/2023 at 07:59. Pushed by nvrwhere into branch 'master'. Guard getTagType and isCloseTag Add guard clauses for getTagType and isCloseTag to avoid crashing if the string is empty. M +6 -0 src/texthandler.cpp https://invent.kde.org/network/neochat/commit/f8040a1bf6de26abe3a0cc1c64b9608f5bd2fdea