summaryrefslogtreecommitdiffstats
path: root/src/tools/moc/main.cpp
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2023-07-12 11:13:14 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2023-07-12 17:48:48 +0200
commitdd1b7b5539d6aecdd5f8342ef0fa260e40f5c483 (patch)
treeedfca73a492cd982fe799e19463da565ef6925e7 /src/tools/moc/main.cpp
parent258e7ed9fd04c39c14d9365fd7aaeb7ba20e64f4 (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.cpp10
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()) {