Fix resource leaks in drm hal

bug:36408047
test: manual tests to verify leaks are fixed
Change-Id: Idd79e99e211d81f8b3e58cf52c9b01ce9d370dc4
diff --git a/drm/1.0/default/DrmPlugin.h b/drm/1.0/default/DrmPlugin.h
index dce6c0c..d951c92 100644
--- a/drm/1.0/default/DrmPlugin.h
+++ b/drm/1.0/default/DrmPlugin.h
@@ -46,7 +46,7 @@
 struct DrmPlugin : public IDrmPlugin, android::DrmPluginListener {
 
     DrmPlugin(android::DrmPlugin *plugin) : mLegacyPlugin(plugin) {}
-    ~DrmPlugin() {delete mLegacyPlugin;}
+    virtual ~DrmPlugin() {delete mLegacyPlugin;}
 
     // Methods from ::android::hardware::drm::V1_0::IDrmPlugin follow.
 
@@ -153,7 +153,7 @@
 
 private:
     android::DrmPlugin *mLegacyPlugin;
-    sp<IDrmPluginListener> mListener;
+    wp<IDrmPluginListener> mListener;
 
     DrmPlugin() = delete;
     DrmPlugin(const DrmPlugin &) = delete;