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;