From 63d3964ab5ff2871f7c2f1e04439434d000b7250 Mon Sep 17 00:00:00 2001 From: Niels Keurentjes Date: Mon, 4 Apr 2016 23:08:18 +0200 Subject: [PATCH] Rollback installation of plugins if corrupted, fixes #5130 --- src/Composer/Installer/PluginInstaller.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Composer/Installer/PluginInstaller.php b/src/Composer/Installer/PluginInstaller.php index 14aec4462..3eaa62b0d 100644 --- a/src/Composer/Installer/PluginInstaller.php +++ b/src/Composer/Installer/PluginInstaller.php @@ -59,7 +59,14 @@ class PluginInstaller extends LibraryInstaller } parent::install($repo, $package); - $this->composer->getPluginManager()->registerPackage($package, true); + try { + $this->composer->getPluginManager()->registerPackage($package, true); + } catch(\Exception $e) { + // Rollback installation + $this->io->writeError('Plugin installation failed, rolling back'); + parent::uninstall($repo, $package); + throw $e; + } } /**