libaacs | branch: master | npzacs <npz...@gmail.com> | Wed Dec 11 11:31:11 2013 
+0200| [5ff6b0d6a9a2ae2bbed3864ef76db68d59426aa2] | committer: npzacs

DK uv value can not be 0

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

 src/file/keydbcfg.c |    2 +-
 src/libaacs/aacs.c  |    3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/file/keydbcfg.c b/src/file/keydbcfg.c
index abdefe2..7843db3 100644
--- a/src/file/keydbcfg.c
+++ b/src/file/keydbcfg.c
@@ -634,7 +634,7 @@ static int _parse_embedded(config_file *cf)
         e->uv   = MKINT_BE32(internal_dk_list[jj] + 16);
         e->u_mask_shift = internal_dk_list[jj][20];
 
-        if (_is_duplicate_dk(cf->dkl, e)) {
+        if (!e->uv || _is_duplicate_dk(cf->dkl, e)) {
             X_FREE(e);
 
         } else {
diff --git a/src/libaacs/aacs.c b/src/libaacs/aacs.c
index f08e0cf..2b850bb 100644
--- a/src/libaacs/aacs.c
+++ b/src/libaacs/aacs.c
@@ -209,6 +209,9 @@ static dk_list *_find_dk(dk_list *dkl, uint32_t 
*p_dev_key_v_mask, uint32_t uv,
             /* wrong device */
             continue;
         }
+        if (!dkl->uv) {
+            continue;
+        }
         key_idx++;
         dev_key_uv     = dkl->uv;
         dev_key_u_mask = 0xffffffff << dkl->u_mask_shift;

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

Reply via email to