From 754c334c297b25488ee78c8301287b7aed3f7697 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Thu, 6 Jun 2019 00:08:49 +0100 Subject: [PATCH] use temp var for misaligned struct member (#437) --- libctru/source/applets/miiselector.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/libctru/source/applets/miiselector.c b/libctru/source/applets/miiselector.c index 3f11ac0..933c146 100644 --- a/libctru/source/applets/miiselector.c +++ b/libctru/source/applets/miiselector.c @@ -133,7 +133,12 @@ void miiSelectorReturnGetName(const MiiSelectorReturn *returnbuf, char* out, siz if (returnbuf->guest_mii_was_selected) miiSelectorConvertToUTF8(out, returnbuf->guest_mii_name, max_size); else - miiSelectorConvertToUTF8(out, returnbuf->mii.mii_name, max_size); + { + u16 temp[10]; + memcpy(temp, returnbuf->mii.mii_name, sizeof(temp)); + + miiSelectorConvertToUTF8(out, temp, max_size); + } } void miiSelectorReturnGetAuthor(const MiiSelectorReturn *returnbuf, char* out, size_t max_size) @@ -141,7 +146,10 @@ void miiSelectorReturnGetAuthor(const MiiSelectorReturn *returnbuf, char* out, s if (!out) return; - miiSelectorConvertToUTF8(out, returnbuf->mii.author_name, max_size); + u16 temp[10]; + memcpy(temp, returnbuf->mii.author_name, sizeof(temp)); + + miiSelectorConvertToUTF8(out, temp, max_size); } static u16 crc16_ccitt(void const *buf, size_t len, uint32_t starting_val)