diff --git a/include/grpc++/impl/codegen/thrift_serializer.h b/include/grpc++/impl/codegen/thrift_serializer.h
index 04dcc699debf26a7726c3a2b448f2414b63b7298..fcb0ffaad6ea9d0e3ed9d7c0080cd37fa8ab7f06 100644
--- a/include/grpc++/impl/codegen/thrift_serializer.h
+++ b/include/grpc++/impl/codegen/thrift_serializer.h
@@ -111,8 +111,8 @@ class ThriftSerializer {
 
     Serialize(fields, &byte_buffer, &byte_buffer_size);
 
-    gpr_slice slice =
-        gpr_slice_from_copied_buffer((char*)byte_buffer, byte_buffer_size);
+    gpr_slice slice = gpr_slice_from_copied_buffer(
+        reinterpret_cast<const char*>(byte_buffer), byte_buffer_size);
 
     *bp = grpc_raw_byte_buffer_create(&slice, 1);
 
@@ -131,12 +131,12 @@ class ThriftSerializer {
     last_deserialized_ = true;
 
     // reset buffer transport
-    buffer_->resetBuffer((uint8_t*)serialized_buffer, length);
+    buffer_->resetBuffer(const_cast<uint8_t*>(serialized_buffer), length);
 
     // read the protocol version if necessary
     if (serialize_version_) {
       std::string name = "";
-      TMessageType mt = (TMessageType)0;
+      TMessageType mt = static_cast<TMessageType>(0);
       int32_t seq_id = 0;
       protocol_->readMessageBegin(name, mt, seq_id);
     }
@@ -200,11 +200,9 @@ class ThriftSerializer {
   bool serialize_version_;
 
   void prepare() {
-
-    buffer_.reset(new TMemoryBuffer());
-
+    buffer_ = boost::make_shared<TMemoryBuffer>(*(new TMemoryBuffer()));
     // create a protocol for the memory buffer transport
-    protocol_.reset(new Protocol(buffer_));
+    protocol_ = std::make_shared<Protocol>(*(new Protocol(buffer_)));
 
     prepared_ = true;
   }
diff --git a/tools/grift/README.md b/tools/grift/README.md
index 2525f9b83dd680904f0906c29d687588219871d6..7cbbdc567bf3cecb7a90b7be65411e6753baa76f 100644
--- a/tools/grift/README.md
+++ b/tools/grift/README.md
@@ -23,5 +23,4 @@ grift uses Compact Protocol to serialize thrift messages.
 #Installation
 
 Before Installing thrift make sure to apply this [patch](grpc_plugins_generator.patch) to third_party/thrift.
-Go to third_party/thrift and follow the [INSTALLATION](https://github.com/apache/thrift.git) instructions to
-install thrift.
\ No newline at end of file
+Go to third_party/thrift and follow the [INSTALLATION](https://github.com/apache/thrift.git) instructions to install thrift with commit id bcad91771b7f0bff28a1cac1981d7ef2b9bcef3c.
\ No newline at end of file