libaacs | branch: master | npzacs <npz...@gmail.com> | Mon Oct  7 12:58:44 2013 
+0300| [5bde0423edda8a7734b433fd3148584e916f4e8c] | committer: npzacs

Erase sensitive data in close

> http://git.videolan.org/gitweb.cgi/libaacs.git/?a=commit;h=5bde0423edda8a7734b433fd3148584e916f4e8c
---

 src/libaacs/aacs.c |    8 ++++++++
 src/libaacs/mmc.c  |    3 +++
 2 files changed, 11 insertions(+)

diff --git a/src/libaacs/aacs.c b/src/libaacs/aacs.c
index ae5d306..0ae51b4 100644
--- a/src/libaacs/aacs.c
+++ b/src/libaacs/aacs.c
@@ -946,12 +946,20 @@ void aacs_close(AACS *aacs)
     if (!aacs)
         return;
 
+    /* erase sensitive data */
+    if (aacs->uks) {
+        memset(aacs->uks, 0, 16 * aacs->num_uks);
+    }
+
     X_FREE(aacs->uks);
     X_FREE(aacs->cps_units);
     X_FREE(aacs->path);
 
     DEBUG(DBG_AACS, "AACS destroyed!\n");
 
+    /* erase sensitive data */
+    memset(aacs, 0, sizeof(*aacs));
+
     X_FREE(aacs);
 }
 
diff --git a/src/libaacs/mmc.c b/src/libaacs/mmc.c
index e3dc48d..9f646ae 100644
--- a/src/libaacs/mmc.c
+++ b/src/libaacs/mmc.c
@@ -1006,6 +1006,9 @@ void mmc_close(MMC *mmc)
 
         DEBUG(DBG_MMC, "Closed MMC drive\n");
 
+        /* erase sensitive data */
+        memset(mmc, 0, sizeof(*mmc));
+
         X_FREE(mmc);
     }
 }

_______________________________________________
libaacs-devel mailing list
libaacs-devel@videolan.org
https://mailman.videolan.org/listinfo/libaacs-devel

Reply via email to