Details
Description
The ASAN report:
/home/jcelerier/libs/qt5/qtbase/src/plugins/platforms/xcb/qxcbdrag.cpp:1054:9: runtime error: load of misaligned address 0x504002eea79c for type 'const unsigned long', which requires 8 byte alignment
The code:
const unsigned long *l = (const unsigned long *)event->data.data32;
Most likely this just needs to be memcpy'd or std::bit_cast if that's available in Qt nowadays
Attachments
For Gerrit Dashboard: QTBUG-127517 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
578879,2 | xcb: use correct data type for xcb_client_message_event_t.data.data32 | dev | qt/qtbase | Status: ABANDONED | -1 | 0 |
634856,3 | QXcbDrag: Fix UB (unaligned load) in handleFinished() | dev | qt/qtbase | Status: MERGED | +2 | 0 |
635316,2 | QXcbDrag: Fix UB (unaligned load) in handleFinished() | 6.9 | qt/qtbase | Status: MERGED | +2 | 0 |
635607,2 | QXcbDrag: Fix UB (unaligned load) in handleFinished() | 6.8 | qt/qtbase | Status: MERGED | +2 | 0 |
635678,2 | QXcbDrag: Fix UB (unaligned load) in handleFinished() | tqtc/lts-6.5 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |
635761,2 | QXcbDrag: Fix UB (unaligned load) in handleFinished() | tqtc/lts-5.15 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |