[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [frameworks-kwindowsystem] [Bug 335161] get_stringlist_reply returns invalid data for single item li
From:       Thomas Lübking <thomas.luebking () gmail ! com>
Date:       2014-05-31 22:33:44
Message-ID: bug-335161-17878-rkjqEYELLJ () http ! bugs ! kde ! org/
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=335161

Thomas Lübking <thomas.luebking@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|NOR                         |VHI
             Status|REOPENED                    |CONFIRMED
            Version|unspecified                 |4.98.0
                 CC|                            |kdelibs-bugs@kde.org,
                   |                            |thomas.luebking@gmail.com
          Component|pt-BR                       |general
           Assignee|kde-i18n-pt_br@kde.org      |mgraesslin@kde.org
            Summary|[kf5] translation (pt_BR)   |get_stringlist_reply
                   |of "Desktop %1" broken      |returns invalid data for
                   |                            |single item lists
            Product|i18n                        |frameworks-kwindowsystem
           Severity|minor                       |critical

--- Comment #34 from Thomas Lübking <thomas.luebking@gmail.com> ---
Ok, let's fix the bug status then - this is not "minor" at all.

----------

The problem here is that QByteArray::fromRawData() is "implicitly shared" with
the provided POD and that QByteArray::split() will basically just "return
QList<QByteArray>() << *this;" if the BA doesn't contain the split parameter
("\0"), so you get a QBA List that only contains the QBA with the shared POD
... which is freed before the return.
So we need an explicit deep copy of the QBA in the list instead.

Some compiler/parameter combo apparently does not only free() but also
EEEEEEEEEEEEEEEE the first 16 bytes of the freed data, but the data is in
general invalid and can take any content any time.

-- 
You are receiving this mail because:
You are watching all bug changes.=
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic