From befef73259bfed4577e686f97075c301f00c2fad Mon Sep 17 00:00:00 2001 From: brueffer Date: Tue, 14 Jul 2015 10:49:36 +0000 Subject: [PATCH] Unbreak ggatec and ggatel on i386 after r238119, which added two more 'struct g_gate_ctl_create' fields. While the behaviour was technically undefined on other architectures as well, on the reporter's amd64 systems the uninitialized bytes the kernel cares about were always zero so everything worked as expected. PR: 197309, 199559 Submitted by: ota@j.email.ne.jp, Fabian Keil Reviewed by: pjd MFC after: 1 week --- ggatec/ggatec.c | 1 + ggatel/ggatel.c | 1 + 2 files changed, 2 insertions(+) diff --git a/ggatec/ggatec.c b/ggatec/ggatec.c index 6f9263c..ea4f701 100644 --- a/ggatec/ggatec.c +++ b/ggatec/ggatec.c @@ -447,6 +447,7 @@ g_gatec_create(void) /* * Ok, got both sockets, time to create provider. */ + memset(&ggioc, 0, sizeof(ggioc)); ggioc.gctl_version = G_GATE_VERSION; ggioc.gctl_mediasize = mediasize; ggioc.gctl_sectorsize = sectorsize; diff --git a/ggatel/ggatel.c b/ggatel/ggatel.c index abfe7c1..0b89df0 100644 --- a/ggatel/ggatel.c +++ b/ggatel/ggatel.c @@ -173,6 +173,7 @@ g_gatel_create(void) fd = open(path, g_gate_openflags(flags) | O_DIRECT | O_FSYNC); if (fd == -1) err(EXIT_FAILURE, "Cannot open %s", path); + memset(&ggioc, 0, sizeof(ggioc)); ggioc.gctl_version = G_GATE_VERSION; ggioc.gctl_unit = unit; ggioc.gctl_mediasize = g_gate_mediasize(fd);