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