libaacs | branch: master | npzacs <[email protected]> | Tue Feb 23 00:31:07 2016 
+0200| [4b210224b85d38a6676dbdfc0079c60a0a30cef9] | committer: npzacs

Do not cache keys if disc id is unknown

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

 src/libaacs/aacs.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/libaacs/aacs.c b/src/libaacs/aacs.c
index 9109eff..4e652aa 100644
--- a/src/libaacs/aacs.c
+++ b/src/libaacs/aacs.c
@@ -647,7 +647,9 @@ static int _read_vid(AACS *aacs, cert_list *hcl)
         BD_DEBUG(DBG_AACS, "Error reading VID!\n");
     } else {
         /* cache vid */
-        keycache_save("vid", aacs->disc_id, aacs->vid, 16);
+        if (memcmp(aacs->disc_id, empty_key, sizeof(aacs->disc_id))) {
+            keycache_save("vid", aacs->disc_id, aacs->vid, 16);
+        }
     }
     return error_code;
 }
@@ -719,7 +721,9 @@ static int _calc_vuk(AACS *aacs, uint8_t *mk, uint8_t *vuk, 
config_file *cf)
     BD_DEBUG(DBG_AACS, "Volume unique key: %s\n", str_print_hex(str, vuk, 16));
 
     /* cache vuk */
-    keycache_save("vuk", aacs->disc_id, vuk, 16);
+    if (memcmp(aacs->disc_id, empty_key, sizeof(aacs->disc_id))) {
+        keycache_save("vuk", aacs->disc_id, vuk, 16);
+    }
 
     return AACS_SUCCESS;
 }

_______________________________________________
libaacs-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/libaacs-devel

Reply via email to