summaryrefslogtreecommitdiff
path: root/sbin/bioctl/bioctl.c
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2012-04-19 19:13:52 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2012-04-19 19:13:52 +0000
commit5449d7759b0759fad6328dc4d80cfa18aa77a699 (patch)
tree092aafe9d3c9e1fd2eadc380e89919f000249c12 /sbin/bioctl/bioctl.c
parent1019a72ecbb04be29518908c32010c713140cb1c (diff)
clear memory before passing to ioctl routines instead of praying it
will be ok and not break things upon return. ok claudio
Diffstat (limited to 'sbin/bioctl/bioctl.c')
-rw-r--r--sbin/bioctl/bioctl.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sbin/bioctl/bioctl.c b/sbin/bioctl/bioctl.c
index 363f9d6c9cf..e9de29079bb 100644
--- a/sbin/bioctl/bioctl.c
+++ b/sbin/bioctl/bioctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bioctl.c,v 1.109 2012/01/22 11:00:39 jsing Exp $ */
+/* $OpenBSD: bioctl.c,v 1.110 2012/04/19 19:13:51 deraadt Exp $ */
/*
* Copyright (c) 2004, 2005 Marco Peereboom
@@ -337,9 +337,9 @@ bio_inq(char *name)
char percent[10], seconds[20];
int i, d, volheader, hotspare, unused;
char encname[16], serial[32];
- struct bioc_disk bd;
struct bioc_inq bi;
struct bioc_vol bv;
+ struct bioc_disk bd;
memset(&bi, 0, sizeof(bi));
@@ -522,6 +522,7 @@ bio_alarm(char *arg)
{
struct bioc_alarm ba;
+ memset(&ba, 0, sizeof(ba));
ba.ba_bio.bio_cookie = bl.bl_bio.bio_cookie;
switch (arg[0]) {
@@ -636,10 +637,10 @@ void
bio_setblink(char *name, char *arg, int blink)
{
struct locator location;
+ struct bioc_blink bb;
struct bioc_inq bi;
struct bioc_vol bv;
struct bioc_disk bd;
- struct bioc_blink bb;
const char *errstr;
int v, d, rv;
@@ -725,6 +726,7 @@ bio_blink(char *enclosure, int target, int blinktype)
if (bioh == -1)
err(1, "Can't open %s", "/dev/bio");
+ memset(&bl, 0, sizeof(bl));
bl.bl_name = enclosure;
if (ioctl(bioh, BIOCLOCATE, &bl))
errx(1, "Can't locate %s device via %s", enclosure, "/dev/bio");