| OLD | NEW | 
|---|
| 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 "net/base/net_util.h" | 5 #include "net/base/net_util.h" | 
| 6 | 6 | 
| 7 #include <errno.h> | 7 #include <errno.h> | 
| 8 #include <string.h> | 8 #include <string.h> | 
| 9 | 9 | 
| 10 #include <algorithm> | 10 #include <algorithm> | 
| (...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 334 | 334 | 
| 335   std::multiset<int> ports; | 335   std::multiset<int> ports; | 
| 336   size_t last = 0; | 336   size_t last = 0; | 
| 337   size_t size = allowed_ports.size(); | 337   size_t size = allowed_ports.size(); | 
| 338   // The comma delimiter. | 338   // The comma delimiter. | 
| 339   const std::string::value_type kComma = ','; | 339   const std::string::value_type kComma = ','; | 
| 340 | 340 | 
| 341   // Overflow is still possible for evil user inputs. | 341   // Overflow is still possible for evil user inputs. | 
| 342   for (size_t i = 0; i <= size; ++i) { | 342   for (size_t i = 0; i <= size; ++i) { | 
| 343     // The string should be composed of only digits and commas. | 343     // The string should be composed of only digits and commas. | 
| 344     if (i != size && !IsAsciiDigit(allowed_ports[i]) && | 344     if (i != size && !base::IsAsciiDigit(allowed_ports[i]) && | 
| 345         (allowed_ports[i] != kComma)) | 345         (allowed_ports[i] != kComma)) | 
| 346       return; | 346       return; | 
| 347     if (i == size || allowed_ports[i] == kComma) { | 347     if (i == size || allowed_ports[i] == kComma) { | 
| 348       if (i > last) { | 348       if (i > last) { | 
| 349         int port; | 349         int port; | 
| 350         base::StringToInt(base::StringPiece(allowed_ports.begin() + last, | 350         base::StringToInt(base::StringPiece(allowed_ports.begin() + last, | 
| 351                                             allowed_ports.begin() + i), | 351                                             allowed_ports.begin() + i), | 
| 352                           &port); | 352                           &port); | 
| 353         ports.insert(port); | 353         ports.insert(port); | 
| 354       } | 354       } | 
| (...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 831   }; | 831   }; | 
| 832   const std::string& host = url.host(); | 832   const std::string& host = url.host(); | 
| 833   for (const char* suffix : kGoogleHostSuffixes) { | 833   for (const char* suffix : kGoogleHostSuffixes) { | 
| 834     if (base::EndsWith(host, suffix, false)) | 834     if (base::EndsWith(host, suffix, false)) | 
| 835       return true; | 835       return true; | 
| 836   } | 836   } | 
| 837   return false; | 837   return false; | 
| 838 } | 838 } | 
| 839 | 839 | 
| 840 }  // namespace net | 840 }  // namespace net | 
| OLD | NEW | 
|---|