diff options
author | 2011-03-11 21:08:25 +0000 | |
---|---|---|
committer | 2011-03-11 21:08:25 +0000 | |
commit | 9b0166348a88ba7cf9361eccf3ed8f6744450bf6 (patch) | |
tree | cf468dc6ab05c20d9b4d4e2d747b9b4f7b83104c | |
parent | Add a non-standard option that affects the output TZ only. The input (for (diff) | |
download | wireguard-openbsd-9b0166348a88ba7cf9361eccf3ed8f6744450bf6.tar.xz wireguard-openbsd-9b0166348a88ba7cf9361eccf3ed8f6744450bf6.zip |
Zap stack garbage before passing buffer to biosd_io(), which may
be lied to by the BIOS about successfully reading data.
ok deraadt@ weingart@
-rw-r--r-- | sys/arch/amd64/stand/libsa/biosdev.c | 3 | ||||
-rw-r--r-- | sys/arch/i386/stand/libsa/biosdev.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/arch/amd64/stand/libsa/biosdev.c b/sys/arch/amd64/stand/libsa/biosdev.c index e25c7896ff4..2a111a9c918 100644 --- a/sys/arch/amd64/stand/libsa/biosdev.c +++ b/sys/arch/amd64/stand/libsa/biosdev.c @@ -1,4 +1,4 @@ -/* $OpenBSD: biosdev.c,v 1.10 2011/03/08 17:24:31 krw Exp $ */ +/* $OpenBSD: biosdev.c,v 1.11 2011/03/11 21:08:25 krw Exp $ */ /* * Copyright (c) 1996 Michael Shalayeff @@ -358,6 +358,7 @@ findopenbsd(bios_diskinfo_t *bd, daddr64_t mbroff, const char **err, int *n) } /* Read MBR */ + bzero(&mbr, sizeof(mbr)); error = biosd_io(F_READ, bd, mbroff, 1, &mbr); if (error) { *err = biosdisk_err(error); diff --git a/sys/arch/i386/stand/libsa/biosdev.c b/sys/arch/i386/stand/libsa/biosdev.c index 38fa6e66060..ed35066079c 100644 --- a/sys/arch/i386/stand/libsa/biosdev.c +++ b/sys/arch/i386/stand/libsa/biosdev.c @@ -1,4 +1,4 @@ -/* $OpenBSD: biosdev.c,v 1.78 2011/03/08 17:24:31 krw Exp $ */ +/* $OpenBSD: biosdev.c,v 1.79 2011/03/11 21:08:25 krw Exp $ */ /* * Copyright (c) 1996 Michael Shalayeff @@ -361,6 +361,7 @@ findopenbsd(bios_diskinfo_t *bd, daddr64_t mbroff, const char **err, int *n) } /* Read MBR */ + bzero(&mbr, sizeof(mbr)); error = biosd_io(F_READ, bd, mbroff, 1, &mbr); if (error) { *err = biosdisk_err(error); |