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

Side by Side Diff: chrome/common/safe_browsing/zip_analyzer.cc

Issue 683913009: Eliminate resource leaks from zip::ZipFiles and (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebasing Created 6 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « AUTHORS ('k') | chrome/utility/chrome_content_utility_client.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/common/safe_browsing/zip_analyzer.h" 5 #include "chrome/common/safe_browsing/zip_analyzer.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "chrome/common/safe_browsing/download_protection_util.h" 8 #include "chrome/common/safe_browsing/download_protection_util.h"
9 #include "third_party/zlib/google/zip_reader.h" 9 #include "third_party/zlib/google/zip_reader.h"
10 10
11 namespace safe_browsing { 11 namespace safe_browsing {
12 namespace zip_analyzer { 12 namespace zip_analyzer {
13 13
14 void AnalyzeZipFile(base::File zip_file, Results* results) { 14 void AnalyzeZipFile(base::File zip_file, Results* results) {
15 zip::ZipReader reader; 15 zip::ZipReader reader;
16 // OpenFromPlatformFile may close the handle even when it fails, but there is 16 if (!reader.OpenFromPlatformFile(zip_file.GetPlatformFile())) {
17 // no way to know if it did that or not. Assume it did (that's the common
18 // case).
19 if (!reader.OpenFromPlatformFile(zip_file.TakePlatformFile())) {
20 DVLOG(1) << "Failed to open zip file"; 17 DVLOG(1) << "Failed to open zip file";
21 return; 18 return;
22 } 19 }
23 20
24 bool advanced = true; 21 bool advanced = true;
25 for (; reader.HasMore(); advanced = reader.AdvanceToNextEntry()) { 22 for (; reader.HasMore(); advanced = reader.AdvanceToNextEntry()) {
26 if (!advanced) { 23 if (!advanced) {
27 DVLOG(1) << "Could not advance to next entry, aborting zip scan."; 24 DVLOG(1) << "Could not advance to next entry, aborting zip scan.";
28 return; 25 return;
29 } 26 }
(...skipping 14 matching lines...) Expand all
44 } 41 }
45 } else { 42 } else {
46 DVLOG(3) << "Ignoring non-binary file: " << file.value(); 43 DVLOG(3) << "Ignoring non-binary file: " << file.value();
47 } 44 }
48 } 45 }
49 results->success = true; 46 results->success = true;
50 } 47 }
51 48
52 } // namespace zip_analyzer 49 } // namespace zip_analyzer
53 } // namespace safe_browsing 50 } // namespace safe_browsing
OLDNEW
« no previous file with comments | « AUTHORS ('k') | chrome/utility/chrome_content_utility_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698