ref: b6769ebdef90f37ebb4bb697da4ce10835141346
parent: c1e3d74b64f515ecb1598e1d6870342c71f5a09b
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sun May 22 17:52:04 EDT 2016
efi: ensure 8 byte alignment of buffer, as ReadBlocks() method will fail otherwise
--- a/sys/src/boot/efi/iso.c
+++ b/sys/src/boot/efi/iso.c
@@ -171,9 +171,10 @@
static void*
isoopen(char *path)
{- static Extend ex[1];
+ static uchar buf[sizeof(Extend)+8];
+ Extend *ex = (Extend*)((uintptr)(buf+7)&~7);
- if(isowalk(ex, path))
+ if(isowalk(ex, path))
return nil;
return ex;
}
--- a/sys/src/boot/efi/pxe.c
+++ b/sys/src/boot/efi/pxe.c
@@ -306,7 +306,8 @@
static void*
pxeopen(char *name)
{- static Tftp t[1];
+ static uchar buf[sizeof(Tftp)+8];
+ Tftp *t = (Tftp*)((uintptr)(buf+7)&~7);
memset(t, 0, sizeof(Tftp));
--
⑨