diff --git a/server/RouteController.cpp b/server/RouteController.cpp
index cdf3c80..16947af 100644
--- a/server/RouteController.cpp
+++ b/server/RouteController.cpp
@@ -92,8 +92,8 @@
 const uint32_t FWMARK_NONE = 0;
 const uint32_t MASK_NONE = 0;
 const char* const IIF_LOOPBACK = "lo";
-const char* const IIF_NONE = NULL;
-const char* const OIF_NONE = NULL;
+const char* const IIF_NONE = nullptr;
+const char* const OIF_NONE = nullptr;
 const bool ACTION_ADD = true;
 const bool ACTION_DEL = false;
 const bool MODIFY_NON_UID_BASED_RULES = true;
@@ -279,7 +279,7 @@
     struct fib_rule_uid_range uidRange = { uidStart, uidEnd };
 
     iovec iov[] = {
-        { NULL,              0 },
+        { nullptr,              0 },
         { &rule,             sizeof(rule) },
         { &FRATTR_PRIORITY,  sizeof(FRATTR_PRIORITY) },
         { &priority,         sizeof(priority) },
@@ -365,11 +365,11 @@
         // the table number. But it's an error to specify an interface ("dev ...") or a nexthop for
         // unreachable routes, so nuke them. (IPv6 allows them to be specified; IPv4 doesn't.)
         interface = OIF_NONE;
-        nexthop = NULL;
+        nexthop = nullptr;
     } else if (nexthop && !strcmp(nexthop, "throw")) {
         type = RTN_THROW;
         interface = OIF_NONE;
-        nexthop = NULL;
+        nexthop = nullptr;
     } else {
         // If an interface was specified, find the ifindex.
         if (interface != OIF_NONE) {
@@ -402,7 +402,7 @@
     rtattr rtaGateway = { U16_RTA_LENGTH(rawLength), RTA_GATEWAY };
 
     iovec iov[] = {
-        { NULL,          0 },
+        { nullptr,          0 },
         { &route,        sizeof(route) },
         { &RTATTR_TABLE, sizeof(RTATTR_TABLE) },
         { &table,        sizeof(table) },
@@ -686,11 +686,11 @@
         return ret;
     }
 
-    if ((ret = modifyIpRoute(RTM_NEWROUTE, table, interface, "0.0.0.0/0", NULL))) {
+    if ((ret = modifyIpRoute(RTM_NEWROUTE, table, interface, "0.0.0.0/0", nullptr))) {
         return ret;
     }
 
-    if ((ret = modifyIpRoute(RTM_NEWROUTE, table, interface, "::/0", NULL))) {
+    if ((ret = modifyIpRoute(RTM_NEWROUTE, table, interface, "::/0", nullptr))) {
         return ret;
     }
 
