Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2562)

Unified Diff: extensions/utility/utility_handler.cc

Issue 2321823002: Exclude exe files while unzipping CRXes (Closed)
Patch Set: Fix build Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: extensions/utility/utility_handler.cc
diff --git a/extensions/utility/utility_handler.cc b/extensions/utility/utility_handler.cc
index 4f4ce471204c81081cf4179185bc2e557c82112f..670c2948a89cb9e55aac4cb295a58996207f0fba 100644
--- a/extensions/utility/utility_handler.cc
+++ b/extensions/utility/utility_handler.cc
@@ -17,6 +17,7 @@
#include "extensions/common/manifest.h"
#include "extensions/common/update_manifest.h"
#include "extensions/strings/grit/extensions_strings.h"
+#include "extensions/utility/extension_extractor_filter.h"
#include "extensions/utility/unpacker.h"
#include "ipc/ipc_message.h"
#include "ipc/ipc_message_macros.h"
@@ -81,7 +82,11 @@ void UtilityHandler::OnParseUpdateManifest(const std::string& xml) {
void UtilityHandler::OnUnzipToDir(const base::FilePath& zip_path,
const base::FilePath& dir) {
- if (!zip::Unzip(zip_path, dir)) {
+ scoped_refptr<ExtensionExtractorFilter> filter =
+ new ExtensionExtractorFilter();
+ const base::Callback<bool(const base::FilePath&)>& filter_cb =
+ base::Bind(&ExtensionExtractorFilter::ShouldExtractFile, filter);
+ if (!zip::UnzipWithFilterCallback(zip_path, dir, filter_cb)) {
Devlin 2016/09/08 21:10:16 This will silently ignore all .exe files. That's
meacer 2016/09/08 22:40:11 Done.
Send(new ExtensionUtilityHostMsg_UnzipToDir_Failed(
std::string(kExtensionHandlerUnzipError)));
} else {

Powered by Google App Engine
This is Rietveld 408576698