summaryrefslogtreecommitdiffstats
path: root/51.patch
blob: 6b87e67d12b0d4ce0f6b2a0f14680be4accee95d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
From 7c1c7693ca684c778d59a35accec6622f9879877 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Thu, 2 Jan 2020 14:10:52 +0100
Subject: [PATCH] skip non hexa char. for 7.4

---
 src/Type/Linear/MsiCheck.php | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/Type/Linear/MsiCheck.php b/src/Type/Linear/MsiCheck.php
index f658f90..9725fa9 100644
--- a/src/Type/Linear/MsiCheck.php
+++ b/src/Type/Linear/MsiCheck.php
@@ -77,10 +77,13 @@ protected function getChecksum($code)
         $pix = 2;
         $check = 0;
         for ($pos = ($clen - 1); $pos >= 0; --$pos) {
-            $check += (hexdec($code[$pos]) * $pix);
-            ++$pix;
-            if ($pix > 7) {
-                $pix = 2;
+            $t = $code[$pos];
+            if ($t >= "0" && $t <= "9" || $t >= "a" && $t <= "f" || $t >= "A" && $t <= "F") {
+                $check += (hexdec($t) * $pix);
+                ++$pix;
+                if ($pix > 7) {
+                   $pix = 2;
+                }
             }
         }
         $check %= 11;