From 2093f7c1f03bd971eebc7c915b801d14adda358e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20L=C3=B3pez?= Date: Wed, 12 Aug 2020 17:08:12 +0200 Subject: [PATCH] grafana-cli: Fix installing of plugins missing directory entries in zip (#26945) --- pkg/cmd/grafana-cli/commands/install_command.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/cmd/grafana-cli/commands/install_command.go b/pkg/cmd/grafana-cli/commands/install_command.go index cacbf6b9818..8d9ba342c37 100644 --- a/pkg/cmd/grafana-cli/commands/install_command.go +++ b/pkg/cmd/grafana-cli/commands/install_command.go @@ -233,6 +233,12 @@ func extractFiles(archiveFile string, pluginName string, filePath string, allowS return fmt.Errorf(permissionsDeniedMessage, newFile) } } else { + // Create needed directories to extract file + err := os.MkdirAll(filepath.Dir(newFile), 0755) + if err != nil { + return errutil.Wrap("failed to create directory to extract plugin files", err) + } + if isSymlink(zf) { if !allowSymlinks { logger.Errorf("%v: plugin archive contains symlink which is not allowed. Skipping \n", zf.Name)