From 2856ec69171322389f5f19b01ee8b582e8f69106 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Sun, 27 Oct 2024 02:14:51 +0200 Subject: [PATCH] Align data in case it's not. Signed-off-by: Pol Henarejos --- src/hsm/cmd_extras.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/hsm/cmd_extras.c b/src/hsm/cmd_extras.c index 70aee96..85172a3 100644 --- a/src/hsm/cmd_extras.c +++ b/src/hsm/cmd_extras.c @@ -273,6 +273,10 @@ int cmd_extras() { if (apdu.nc % 2) { return SW_WRONG_DATA(); } + if ((uintptr_t)apdu.data & 1) { // Not aligned + memmove(apdu.data - 1, apdu.data, apdu.nc); + apdu.data--; + } int ret = otp_write_data(row, apdu.data, apdu.nc); if (ret != 0) { return SW_EXEC_ERROR();