diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2022-04-01 13:31:55 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-04-01 13:31:55 +0000 |
commit | fb69864e38f101581a8c4efbf95e204f22e5e297 (patch) | |
tree | d3abeba6cdb18a0470a717e4df5d0cbaede79121 | |
parent | d9e6cb29bbab600b07f93e781d4525238ff729fd (diff) | |
parent | 66743595738ad45413199a51ad4887bff4d9c208 (diff) | |
download | SecureElement-fb69864e38f101581a8c4efbf95e204f22e5e297.tar.gz |
Merge "Fix CLA byte encoded with wrong SM bit" am: 3da2113708 am: 2dd3e0965d am: a595f9753f am: 6674359573
Original change: https://android-review.googlesource.com/c/platform/packages/apps/SecureElement/+/1937329
Change-Id: I366b1d7f63cdf99269ae086a48be61117b16c648
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rwxr-xr-x[-rw-r--r--] | src/com/android/se/Channel.java | 2 | ||||
-rwxr-xr-x | src/com/android/se/internal/Util.java | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/com/android/se/Channel.java b/src/com/android/se/Channel.java index d6df415..33327ed 100644..100755 --- a/src/com/android/se/Channel.java +++ b/src/com/android/se/Channel.java @@ -213,7 +213,7 @@ public class Channel implements IBinder.DeathRecipient { cla = (byte) ((cla & 0xBC) | channelNumber); } else if (channelNumber < 20) { // b7 = 1 indicates the further interindustry class byte coding - boolean isSm = (cla & 0x0C) != 0; + boolean isSm = (((cla & 0x40) == 0x00) && ((cla & 0x0C) != 0)); cla = (byte) ((cla & 0xB0) | 0x40 | (channelNumber - 4)); if (isSm) { cla |= 0x20; diff --git a/src/com/android/se/internal/Util.java b/src/com/android/se/internal/Util.java index 8e9cfe3..8a52962 100755 --- a/src/com/android/se/internal/Util.java +++ b/src/com/android/se/internal/Util.java @@ -135,7 +135,7 @@ public class Util { cla = (byte) ((cla & 0xBC) | channelNumber); } else if (channelNumber < 20) { // b7 = 1 indicates the further interindustry class byte coding - boolean isSM = (cla & 0x0C) != 0; + boolean isSM = (((cla & 0x40) == 0x00) && ((cla & 0x0C) != 0)); cla = (byte) ((cla & 0xB0) | 0x40 | (channelNumber - 4)); if (isSM) { cla |= 0x20; |