aboutsummaryrefslogtreecommitdiffstats
path: root/community/opensc/fix-overlapping-memcpy.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/opensc/fix-overlapping-memcpy.patch')
-rw-r--r--community/opensc/fix-overlapping-memcpy.patch12
1 files changed, 12 insertions, 0 deletions
diff --git a/community/opensc/fix-overlapping-memcpy.patch b/community/opensc/fix-overlapping-memcpy.patch
new file mode 100644
index 0000000000..f6bb934d1f
--- /dev/null
+++ b/community/opensc/fix-overlapping-memcpy.patch
@@ -0,0 +1,12 @@
+diff --git a/src/libopensc/card-gids.c b/src/libopensc/card-gids.c
+index 2471c55a..27576f99 100644
+--- a/src/libopensc/card-gids.c
++++ b/src/libopensc/card-gids.c
+@@ -1915,7 +1915,6 @@ static int gids_authenticate_admin(sc_card_t *card, u8* key) {
+ LOG_TEST_RET(card->ctx, r, "unable to set computer random");
+
+ // send it to the card
+- memcpy(apduSetRandom+4, randomR1, 16);
+ sc_format_apdu(card, &apdu, SC_APDU_CASE_4, INS_GENERAL_AUTHENTICATE, 0x00, 0x00);
+ apdu.lc = sizeof(apduSetRandom);
+ apdu.data = apduSetRandom;