Fix for bug 4126624.
Change the mDrmManagerClientImpl to sp to avoid double delete the pointer.

Change-Id: I7aacea1bc58ab6425ef6f6f09472c6f2970ebb4d
diff --git a/drm/libdrmframework/DrmManagerClient.cpp b/drm/libdrmframework/DrmManagerClient.cpp
index 1d1e258..c1f382a 100644
--- a/drm/libdrmframework/DrmManagerClient.cpp
+++ b/drm/libdrmframework/DrmManagerClient.cpp
@@ -32,7 +32,6 @@
     DrmManagerClientImpl::remove(mUniqueId);
     mDrmManagerClientImpl->removeClient(mUniqueId);
     mDrmManagerClientImpl->setOnInfoListener(mUniqueId, NULL);
-    delete mDrmManagerClientImpl; mDrmManagerClientImpl = NULL;
 }
 
 status_t DrmManagerClient::setOnInfoListener(
diff --git a/include/drm/DrmManagerClient.h b/include/drm/DrmManagerClient.h
index 12142bc..7a0bf4f 100644
--- a/include/drm/DrmManagerClient.h
+++ b/include/drm/DrmManagerClient.h
@@ -365,7 +365,7 @@
 
 private:
     int mUniqueId;
-    DrmManagerClientImpl* mDrmManagerClientImpl;
+    sp<DrmManagerClientImpl> mDrmManagerClientImpl;
 };
 
 };