diff options
author | kh1 <karsten.heimrich@digia.com> | 2013-01-24 12:46:31 +0100 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@digia.com> | 2013-01-24 12:47:31 +0100 |
commit | 6bb6720df0976bcadbbf416e0f32d65faf7a33ae (patch) | |
tree | b18b412cea738aa1b571ae516b98fc93b6bcf070 /src/libs/installer/lib7z_facade.cpp | |
parent | f4f4e83740ab0217d04e14d025160a1497f96012 (diff) |
Fix unexpected symlink link, triggered thru broken 7z code.
Change-Id: I6bb996d2b44b208137d5c1d1d558b42fb9cf7b43
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Diffstat (limited to 'src/libs/installer/lib7z_facade.cpp')
-rw-r--r-- | src/libs/installer/lib7z_facade.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libs/installer/lib7z_facade.cpp b/src/libs/installer/lib7z_facade.cpp index 23e0f2775..e987c7571 100644 --- a/src/libs/installer/lib7z_facade.cpp +++ b/src/libs/installer/lib7z_facade.cpp @@ -796,6 +796,13 @@ public: throw SevenZipException(QObject::tr("Could not create softlink at %1") .arg(absFilePath)); } + + // If we have a symlink, bail out after we have linked it to avoid deleting the link. + // CFileBase::Create(...) seems to broken in regard of symlink handling. If the link + // already exists, it simple does an unlink on it. So we can't set time values on the + // symlink in the following code, as COutFile::Open(...) calls former mentioned Create() + // function and thus the symlink is deleted. + return S_OK; #endif } } |