diff --git a/core/logger-factory.cpp b/core/logger-factory.cpp
index 6805af9..61ca866 100644
--- a/core/logger-factory.cpp
+++ b/core/logger-factory.cpp
@@ -73,7 +73,8 @@
     {
       uint32_t levelNo = boost::lexical_cast<uint32_t>(level);
 
-      if ((LOG_NONE <= levelNo && levelNo <= LOG_TRACE) ||
+      if ((boost::lexical_cast<uint32_t>(LOG_NONE) <= levelNo &&
+           levelNo <= boost::lexical_cast<uint32_t>(LOG_TRACE)) ||
           levelNo == LOG_ALL)
         {
           return static_cast<LogLevel>(levelNo);
diff --git a/daemon/face/ethernet-face.cpp b/daemon/face/ethernet-face.cpp
index f51a8ae..0abbfff 100644
--- a/daemon/face/ethernet-face.cpp
+++ b/daemon/face/ethernet-face.cpp
@@ -301,7 +301,7 @@
   size_t mtu = ethernet::MAX_DATA_LEN;
 
 #ifdef SIOCGIFMTU
-  ifreq ifr = {};
+  ifreq ifr = boost::initialized_value;
   std::strncpy(ifr.ifr_name, m_interfaceName.c_str(), sizeof(ifr.ifr_name) - 1);
 
   if (::ioctl(m_socket->native_handle(), SIOCGIFMTU, &ifr) < 0)
diff --git a/daemon/mgmt/manager-base.cpp b/daemon/mgmt/manager-base.cpp
index 114e818..60f3bc9 100644
--- a/daemon/mgmt/manager-base.cpp
+++ b/daemon/mgmt/manager-base.cpp
@@ -118,7 +118,7 @@
 ManagerBase::onCommandValidationFailed(const shared_ptr<const Interest>& command,
                                        const std::string& error)
 {
-  NFD_LOG_DEBUG("command result: unauthorized command: " << *command);
+  NFD_LOG_DEBUG("command result: unauthorized command: " << *command << " (" << error << ")");
   sendResponse(command->getName(), 403, "Unauthorized command");
 }
 
diff --git a/tools/network.hpp b/tools/network.hpp
index 3c200aa..044b915 100644
--- a/tools/network.hpp
+++ b/tools/network.hpp
@@ -110,7 +110,7 @@
 
       if (address.is_v4())
         {
-          ip::address_v4::bytes_type maskBytes = {};
+          ip::address_v4::bytes_type maskBytes = boost::initialized_value;
           for (size_t i = 0; i < mask; i++)
             {
               size_t byteId = i / 8;
@@ -133,7 +133,7 @@
         }
       else
         {
-          ip::address_v6::bytes_type maskBytes = {};
+          ip::address_v6::bytes_type maskBytes = boost::initialized_value;
           for (size_t i = 0; i < mask; i++)
             {
               size_t byteId = i / 8;
diff --git a/tools/nfd-autoreg.cpp b/tools/nfd-autoreg.cpp
index a219e62..26fba9d 100644
--- a/tools/nfd-autoreg.cpp
+++ b/tools/nfd-autoreg.cpp
@@ -63,7 +63,8 @@
   onNfdCommandFailure(const FaceEventNotification& notification,
                       uint32_t code, const std::string& reason)
   {
-    std::cerr << "FAILED: " << notification << " (code: " << code << ")" << std::endl;
+    std::cerr << "FAILED: " << notification
+              << " (code: " << code << ", reason: " << reason << ")" << std::endl;
   }
 
   bool
