summaryrefslogtreecommitdiffstats
path: root/net/dns
diff options
context:
space:
mode:
authorshenhan@google.com <shenhan@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-26 04:57:37 +0000
committershenhan@google.com <shenhan@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-26 04:57:37 +0000
commite9478a9964f53967686f252942fb3eb881f273fa (patch)
tree1cb2eb1cfe2e36552b200198c6e24fa7d7df05ca /net/dns
parentc6e5ca6d02b9cd691b1d53e9dd7bdf95c6ba71b9 (diff)
downloadchromium_src-e9478a9964f53967686f252942fb3eb881f273fa.zip
chromium_src-e9478a9964f53967686f252942fb3eb881f273fa.tar.gz
chromium_src-e9478a9964f53967686f252942fb3eb881f273fa.tar.bz2
Fix gcc 4.7 building problems - cont 2.
(The gcc 4.7 building problems keep popping up as I sync the repo, so there are several "fix gcc 4.7 .." cls.) Fixes include - - added static_cast for narrowing conversion in simple(short) initiliazation lists - added explicit <unistd.h> inclusion BUG=None TEST=Built successfully using GCC-4.7 under linux and under chromeos chroot. Review URL: https://chromiumcodereview.appspot.com/10833017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148519 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/dns')
-rw-r--r--net/dns/dns_config_service.cc22
1 files changed, 12 insertions, 10 deletions
diff --git a/net/dns/dns_config_service.cc b/net/dns/dns_config_service.cc
index a520d26..fc5b750 100644
--- a/net/dns/dns_config_service.cc
+++ b/net/dns/dns_config_service.cc
@@ -16,21 +16,23 @@ namespace {
// Check if particular nameserver address is rogue. See:
// http://www.fbi.gov/news/stories/2011/november/malware_110911/DNS-changer-malware.pdf
bool CheckRogueDnsAddress(const IPAddressNumber& address) {
+#define U8(x) static_cast<unsigned char>(x)
const struct Bounds {
const unsigned char lower[4]; // inclusive
const unsigned char upper[4]; // exclusive
} cases[] = {
- { { '\x55', '\xFF', '\x70', '\x00' }, // 85.255.112.0
- { '\x55', '\xFF', '\x80', '\x00' } }, // 85.255.128.0
- { { '\x43', '\xD2', '\x00', '\x00' }, // 67.210.0.0
- { '\x43', '\xD2', '\x10', '\x00' } }, // 67.210.16.0
- { { '\x5D', '\xBC', '\xA0', '\x00' }, // 93.188.160.0
- { '\x5D', '\xBC', '\xA8', '\x00' } }, // 93.188.168.0
- { { '\x4D', '\x43', '\x53', '\x00' }, // 77.67.83.0
- { '\x4D', '\x43', '\x54', '\x00' } }, // 77.67.84.0
- { { '\x40', '\x1C', '\xB2', '\x00' }, // 64.28.178.0
- { '\x40', '\x1C', '\xC0', '\x00' } }, // 64.28.192.0
+ { { U8('\x55'), U8('\xFF'), U8('\x70'), U8('\x00') }, // 85.255.112.0
+ { U8('\x55'), U8('\xFF'), U8('\x80'), U8('\x00') } }, // 85.255.128.0
+ { { U8('\x43'), U8('\xD2'), U8('\x00'), U8('\x00') }, // 67.210.0.0
+ { U8('\x43'), U8('\xD2'), U8('\x10'), U8('\x00') } }, // 67.210.16.0
+ { { U8('\x5D'), U8('\xBC'), U8('\xA0'), U8('\x00') }, // 93.188.160.0
+ { U8('\x5D'), U8('\xBC'), U8('\xA8'), U8('\x00') } }, // 93.188.168.0
+ { { U8('\x4D'), U8('\x43'), U8('\x53'), U8('\x00') }, // 77.67.83.0
+ { U8('\x4D'), U8('\x43'), U8('\x54'), U8('\x00') } }, // 77.67.84.0
+ { { U8('\x40'), U8('\x1C'), U8('\xB2'), U8('\x00') }, // 64.28.178.0
+ { U8('\x40'), U8('\x1C'), U8('\xC0'), U8('\x00') } }, // 64.28.192.0
};
+#undef U8
for (unsigned i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) {
const Bounds& bounds = cases[i];
IPAddressNumber lower(bounds.lower, bounds.lower + 4);