From 3fc58a5ed837bc5135198a05255ca7ac72ced69e Mon Sep 17 00:00:00 2001 From: David Skoland Date: Fri, 8 Oct 2021 09:47:46 +0200 Subject: [PATCH] Remove union in QFileSystemEngine The need for this union has disappeared at some point during refactoring It does confuse MemorySanitizer, though, so it's good to remove it. Change-Id: I5f5050adba302bf96db96d5f303d2a25630543ce Fixes: QTBUG-97109 Reviewed-by: Ievgenii Meshcheriakov Reviewed-by: Thiago Macieira --- src/corelib/io/qfilesystemengine_unix.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp index c8d7170b64..150fb18527 100644 --- a/src/corelib/io/qfilesystemengine_unix.cpp +++ b/src/corelib/io/qfilesystemengine_unix.cpp @@ -406,10 +406,7 @@ bool QFileSystemEngine::fillMetaData(int fd, QFileSystemMetaData &data) data.entryFlags &= ~QFileSystemMetaData::PosixStatFlags; data.knownFlagsMask |= QFileSystemMetaData::PosixStatFlags; - union { - struct statx statxBuffer; - QT_STATBUF statBuffer; - }; + struct statx statxBuffer; int ret = qt_fstatx(fd, &statxBuffer); if (ret != -ENOSYS) { @@ -420,6 +417,8 @@ bool QFileSystemEngine::fillMetaData(int fd, QFileSystemMetaData &data) return false; } + QT_STATBUF statBuffer; + if (QT_FSTAT(fd, &statBuffer) == 0) { data.fillFromStatBuf(statBuffer); return true;