summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-07-21 14:08:33 (GMT)
committerBrad King <brad.king@kitware.com>2016-07-21 14:08:33 (GMT)
commit40d5375cf1b55c4eb8043a037c6ad42dc482cc3c (patch)
tree714952bf4705f11a32ea3a423309eefc3f166a22
parent30dda6724f76c416635cb10341444f617c46600b (diff)
parent11768733d321df55b0efcb70b278c71b8e216cf7 (diff)
downloadCMake-40d5375cf1b55c4eb8043a037c6ad42dc482cc3c.zip
CMake-40d5375cf1b55c4eb8043a037c6ad42dc482cc3c.tar.gz
CMake-40d5375cf1b55c4eb8043a037c6ad42dc482cc3c.tar.bz2
Merge branch 'nsis-protect-uninst-exec' into release
-rw-r--r--Help/release/3.6.rst6
-rw-r--r--Modules/NSIS.template.in2
2 files changed, 7 insertions, 1 deletions
diff --git a/Help/release/3.6.rst b/Help/release/3.6.rst
index 771c9dd..144537d 100644
--- a/Help/release/3.6.rst
+++ b/Help/release/3.6.rst
@@ -308,3 +308,9 @@ Other Changes
preferred future use is upper cased component names in variables.
New variables that will be added to CPackRPM in later versions
will only support upper cased component variable format.
+
+* The CPack NSIS generator's configuration file template was fixed to
+ quote the path to the uninstaller tool used by the
+ :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option.
+ This avoids depending on an insecure Windows feature to run an
+ uninstaller tool with a space in the path.
diff --git a/Modules/NSIS.template.in b/Modules/NSIS.template.in
index 1ef3d28..92a3142 100644
--- a/Modules/NSIS.template.in
+++ b/Modules/NSIS.template.in
@@ -920,7 +920,7 @@ uninst:
ClearErrors
StrLen $2 "\Uninstall.exe"
StrCpy $3 $0 -$2 # remove "\Uninstall.exe" from UninstallString to get path
- ExecWait '$0 _?=$3' ;Do not copy the uninstaller to a temp file
+ ExecWait '"$0" _?=$3' ;Do not copy the uninstaller to a temp file
IfErrors uninst_failed inst
uninst_failed: