diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2023-07-12 11:13:14 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2023-07-12 17:48:48 +0200 |
commit | dd1b7b5539d6aecdd5f8342ef0fa260e40f5c483 (patch) | |
tree | edfca73a492cd982fe799e19463da565ef6925e7 /src/tools/moc/main.cpp | |
parent | 258e7ed9fd04c39c14d9365fd7aaeb7ba20e64f4 (diff) |
moc: Store errno after fopen call
To avoid QFile::encodeName() potentially overriding the value.
Pick-to: 6.2 6.5 6.6
Task-number: QTBUG-101926
Change-Id: Ie751df877d6624238ded344474b5eccc324ec541
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/tools/moc/main.cpp')
-rw-r--r-- | src/tools/moc/main.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/tools/moc/main.cpp b/src/tools/moc/main.cpp index 0d57d3b69e..2f0d11a056 100644 --- a/src/tools/moc/main.cpp +++ b/src/tools/moc/main.cpp @@ -549,9 +549,12 @@ int runMoc(int argc, char **argv) f = fopen(QFile::encodeName(jsonOutputFileName).constData(), "w"); if (!f) #endif + { + const auto fopen_errno = errno; fprintf(stderr, "moc: Cannot create JSON output file %s. %s\n", QFile::encodeName(jsonOutputFileName).constData(), - strerror(errno)); + strerror(fopen_errno)); + } jsonOutput.reset(f); } } else { // use stdout @@ -596,9 +599,12 @@ int runMoc(int argc, char **argv) depFileHandleRaw = fopen(QFile::encodeName(depOutputFileName).constData(), "w"); if (!depFileHandleRaw) #endif + { + const auto fopen_errno = errno; fprintf(stderr, "moc: Cannot create dep output file '%s'. %s\n", QFile::encodeName(depOutputFileName).constData(), - strerror(errno)); + strerror(fopen_errno)); + } depFileHandle.reset(depFileHandleRaw); if (!depFileHandle.isNull()) { |