Skip to content

Commit 754c334

Browse files
authored
use temp var for misaligned struct member (#437)
1 parent e842cfd commit 754c334

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

libctru/source/applets/miiselector.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,15 +133,23 @@ void miiSelectorReturnGetName(const MiiSelectorReturn *returnbuf, char* out, siz
133133
if (returnbuf->guest_mii_was_selected)
134134
miiSelectorConvertToUTF8(out, returnbuf->guest_mii_name, max_size);
135135
else
136-
miiSelectorConvertToUTF8(out, returnbuf->mii.mii_name, max_size);
136+
{
137+
u16 temp[10];
138+
memcpy(temp, returnbuf->mii.mii_name, sizeof(temp));
139+
140+
miiSelectorConvertToUTF8(out, temp, max_size);
141+
}
137142
}
138143

139144
void miiSelectorReturnGetAuthor(const MiiSelectorReturn *returnbuf, char* out, size_t max_size)
140145
{
141146
if (!out)
142147
return;
143148

144-
miiSelectorConvertToUTF8(out, returnbuf->mii.author_name, max_size);
149+
u16 temp[10];
150+
memcpy(temp, returnbuf->mii.author_name, sizeof(temp));
151+
152+
miiSelectorConvertToUTF8(out, temp, max_size);
145153
}
146154

147155
static u16 crc16_ccitt(void const *buf, size_t len, uint32_t starting_val)

0 commit comments

Comments
 (0)