diff --git a/certificate_checker_unittest.cc b/certificate_checker_unittest.cc
index 4469c0f..ef9bbd2 100644
--- a/certificate_checker_unittest.cc
+++ b/certificate_checker_unittest.cc
@@ -72,7 +72,7 @@
 
 // check certificate change, new
 TEST_F(CertificateCheckerTest, NewCertificate) {
-  EXPECT_CALL(openssl_wrapper_, GetCertificateDigest(NULL, _, _, _))
+  EXPECT_CALL(openssl_wrapper_, GetCertificateDigest(nullptr, _, _, _))
       .WillOnce(DoAll(
           SetArgumentPointee<1>(depth_),
           SetArgumentPointee<2>(length_),
@@ -83,12 +83,12 @@
   EXPECT_CALL(*prefs_, SetString(cert_key_, digest_hex_))
       .WillOnce(Return(true));
   ASSERT_TRUE(CertificateChecker::CheckCertificateChange(
-      server_to_check_, 1, NULL));
+      server_to_check_, 1, nullptr));
 }
 
 // check certificate change, unchanged
 TEST_F(CertificateCheckerTest, SameCertificate) {
-  EXPECT_CALL(openssl_wrapper_, GetCertificateDigest(NULL, _, _, _))
+  EXPECT_CALL(openssl_wrapper_, GetCertificateDigest(nullptr, _, _, _))
       .WillOnce(DoAll(
           SetArgumentPointee<1>(depth_),
           SetArgumentPointee<2>(length_),
@@ -100,12 +100,12 @@
           Return(true)));
   EXPECT_CALL(*prefs_, SetString(_, _)).Times(0);
   ASSERT_TRUE(CertificateChecker::CheckCertificateChange(
-      server_to_check_, 1, NULL));
+      server_to_check_, 1, nullptr));
 }
 
 // check certificate change, changed
 TEST_F(CertificateCheckerTest, ChangedCertificate) {
-  EXPECT_CALL(openssl_wrapper_, GetCertificateDigest(NULL, _, _, _))
+  EXPECT_CALL(openssl_wrapper_, GetCertificateDigest(nullptr, _, _, _))
       .WillOnce(DoAll(
           SetArgumentPointee<1>(depth_),
           SetArgumentPointee<2>(length_),
@@ -121,7 +121,7 @@
   EXPECT_CALL(*prefs_, SetString(cert_key_, digest_hex_))
       .WillOnce(Return(true));
   ASSERT_TRUE(CertificateChecker::CheckCertificateChange(
-      server_to_check_, 1, NULL));
+      server_to_check_, 1, nullptr));
 }
 
 // check certificate change, failed
@@ -132,7 +132,7 @@
   EXPECT_CALL(*prefs_, GetString(_, _)).Times(0);
   EXPECT_CALL(openssl_wrapper_, GetCertificateDigest(_, _, _, _)).Times(0);
   ASSERT_FALSE(CertificateChecker::CheckCertificateChange(
-      server_to_check_, 0, NULL));
+      server_to_check_, 0, nullptr));
 }
 
 // flush send report
