From db65a68181b1d8c9e585907f10b4f0eef5bd3e56 Mon Sep 17 00:00:00 2001
From: anon <unknown>
Date: Sat, 14 Jun 2008 17:34:41 +0800
Subject: [PATCH] nagra-0101: fix map32

---
 systems/nagra/nagra2-0101.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/systems/nagra/nagra2-0101.c b/systems/nagra/nagra2-0101.c
index 764288f..670b593 100644
--- a/systems/nagra/nagra2-0101.c
+++ b/systems/nagra/nagra2-0101.c
@@ -212,10 +212,14 @@ bool cMap0101::Map(int f, unsigned char *data, int l)
       break;
     case 0x32:
       l=min(34,l);
-      A.GetLE(data,l<<3);
-      BN_div(C,B,A,D,ctx);
-      BN_rshift(A,C,17*64);
-      BN_mask_bits(C,17*64);
+      if(!BN_is_zero(D)) {
+        A.GetLE(data,l<<3);
+        BN_div(C,B,A,D,ctx);
+        BN_rshift(A,C,17*64);
+        BN_mask_bits(C,17*64);
+        A.Commit(17);
+        C.Commit(17);
+        }
       BN_zero(J);
       break;
     case 0x3b:
-- 
2.39.5