From 687af7b1a94ef26a758c680a5caacc26bc89cff0 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Mon, 31 Jul 2023 05:35:11 +0200 Subject: [PATCH] xcb: guard a pointer before usage in QXcbAtom::initializeAllAtoms(). See also the example in https://manpages.debian.org/testing/libxcb-doc/xcb_intern_atom_reply.3.en.html Fixes: QTBUG-115599 Change-Id: I6590fe1aa11deec7fef7ce6d8f5c49a71d636648 Reviewed-by: Axel Spoerl (cherry picked from commit 552e3b9b78c136aebedf0a591af04661f0dedbbf) Reviewed-by: Qt Cherry-pick Bot --- src/plugins/platforms/xcb/qxcbatom.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/platforms/xcb/qxcbatom.cpp b/src/plugins/platforms/xcb/qxcbatom.cpp index 09b1fe8a9d0..a456c194902 100644 --- a/src/plugins/platforms/xcb/qxcbatom.cpp +++ b/src/plugins/platforms/xcb/qxcbatom.cpp @@ -230,8 +230,10 @@ void QXcbAtom::initializeAllAtoms(xcb_connection_t *connection) { for (i = 0; i < QXcbAtom::NAtoms; ++i) { xcb_intern_atom_reply_t *reply = xcb_intern_atom_reply(connection, cookies[i], nullptr); - m_allAtoms[i] = reply->atom; - free(reply); + if (reply) { + m_allAtoms[i] = reply->atom; + free(reply); + } } }