Merge "Fix a memory leak in the Forward Lock plugin. For bug 4770217."
diff --git a/drm/libdrmframework/plugins/forward-lock/FwdLockEngine/src/FwdLockEngine.cpp b/drm/libdrmframework/plugins/forward-lock/FwdLockEngine/src/FwdLockEngine.cpp
index 07b3b47..31c3c14 100644
--- a/drm/libdrmframework/plugins/forward-lock/FwdLockEngine/src/FwdLockEngine.cpp
+++ b/drm/libdrmframework/plugins/forward-lock/FwdLockEngine/src/FwdLockEngine.cpp
@@ -512,6 +512,19 @@
         }
     }
 
+    if (NULL != decryptHandle) {
+        if (NULL != decryptHandle->decryptInfo) {
+            delete decryptHandle->decryptInfo;
+            decryptHandle->decryptInfo = NULL;
+        }
+
+        decryptHandle->copyControlVector.clear();
+        decryptHandle->extendedData.clear();
+
+        delete decryptHandle;
+        decryptHandle = NULL;
+    }
+
     LOGV("FwdLockEngine::onCloseDecryptSession Exit");
     return result;
 }