summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/fileutils.cpp
diff options
context:
space:
mode:
authorkh1 <karsten.heimrich@digia.com>2013-09-16 15:24:10 +0200
committerKarsten Heimrich <karsten.heimrich@digia.com>2013-09-20 12:48:32 +0200
commit7798b3d3e010367be64d975f2337b8019454ccf0 (patch)
tree7b226c6a16bb3f7e8b0a1fec886f3493ad610b62 /src/libs/installer/fileutils.cpp
parente2b967f5d8ba5421cf1a026d498a6de77962362c (diff)
Fix broken random name generation for temporary directories.
Task-number: QTIFW-354 The function was correctly calculating the initial part of the name using QTemporaryFile, though the appended "meta" was not checked and could result in duplicated names later on. Change-Id: I00eeebbb01fbfcc5a626e4bdfe04013f8e520ed5 Reviewed-by: Niels Weber <niels.weber@digia.com> Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Diffstat (limited to 'src/libs/installer/fileutils.cpp')
-rw-r--r--src/libs/installer/fileutils.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/libs/installer/fileutils.cpp b/src/libs/installer/fileutils.cpp
index 1fd5bf35c..6f8c44622 100644
--- a/src/libs/installer/fileutils.cpp
+++ b/src/libs/installer/fileutils.cpp
@@ -453,14 +453,18 @@ QString QInstaller::generateTemporaryFileName(const QString &templ)
return f.fileName();
}
-QString QInstaller::createTemporaryDirectory(const QString &templ)
-{
- const QString t = QDir::tempPath() + QLatin1String("/") + templ + QLatin1String("XXXXXX");
- QTemporaryFile f(t);
- if (!f.open())
- throw Error(QObject::tr("Could not create temporary folder for template %1: %2").arg(t, f.errorString()));
- const QString path = f.fileName() + QLatin1String("meta");
- qDebug() << "\nCreating meta data directory at" << path;
+QString QInstaller::createTemporaryDirectory(const QString &templateName)
+{
+ QString path = QDir::tempPath() + QLatin1String("/") + templateName + QLatin1String("XXXXXX");
+ {
+ QTemporaryFile f(path);
+ if (!f.open()) {
+ throw Error(QObject::tr("Could not create temporary directory %1: %2").arg(f.fileName(),
+ f.errorString()));
+ }
+ path = f.fileName();
+ }
+ qDebug() << "\nCreating temporary directory at:" << path;
QInstaller::mkpath(path);
return path;