diff --git a/src/encoding/block.cpp b/src/encoding/block.cpp
index 09acafd..13b10bc 100644
--- a/src/encoding/block.cpp
+++ b/src/encoding/block.cpp
@@ -131,11 +131,6 @@
   m_valueBegin = m_begin + typeLengthSize;
 }
 
-Block::Block(const void* buf, size_t bufSize)
-  : Block(reinterpret_cast<const uint8_t*>(buf), bufSize)
-{
-}
-
 Block::Block(uint32_t type)
   : m_type(type)
   , m_size(tlv::sizeOfVarNumber(m_type) + tlv::sizeOfVarNumber(0))
diff --git a/src/encoding/block.hpp b/src/encoding/block.hpp
index 177d1f2..2e0601d 100644
--- a/src/encoding/block.hpp
+++ b/src/encoding/block.hpp
@@ -119,11 +119,6 @@
    */
   Block(const uint8_t* buf, size_t bufSize);
 
-  /** @brief Parse Block from a raw buffer
-   *  @deprecated use Block(const uint8_t*, size_t)
-   */
-  Block(const void* buf, size_t bufSize);
-
   /** @brief Create an empty Block with specified TLV-TYPE
    *  @param type TLV-TYPE
    */
diff --git a/src/util/sqlite3-statement.cpp b/src/util/sqlite3-statement.cpp
index f1871db..736b266 100644
--- a/src/util/sqlite3-statement.cpp
+++ b/src/util/sqlite3-statement.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2013-2015 Regents of the University of California.
+/*
+ * Copyright (c) 2013-2017 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -33,7 +33,7 @@
 
 Sqlite3Statement::Sqlite3Statement(sqlite3* database, const std::string& statement)
 {
-  int res = sqlite3_prepare_v2(database, statement.c_str(), -1, &m_stmt, nullptr);
+  int res = sqlite3_prepare_v2(database, statement.data(), -1, &m_stmt, nullptr);
   if (res != SQLITE_OK)
     BOOST_THROW_EXCEPTION(std::domain_error("bad SQL statement: " + statement));
 }
@@ -78,7 +78,8 @@
 Block
 Sqlite3Statement::getBlock(int column)
 {
-  return Block(sqlite3_column_blob(m_stmt, column), sqlite3_column_bytes(m_stmt, column));
+  return Block(reinterpret_cast<const uint8_t*>(sqlite3_column_blob(m_stmt, column)),
+               sqlite3_column_bytes(m_stmt, column));
 }
 
 int
