Index: dispatch.c
===================================================================
RCS file: /cvs/src/usr.sbin/dhcpd/dispatch.c,v
retrieving revision 1.43
diff -u -p -u -r1.43 dispatch.c
--- dispatch.c 12 Apr 2017 19:17:30 -0000 1.43
+++ dispatch.c 26 Jun 2017 00:49:04 -0000
@@ -549,18 +549,16 @@ add_timeout(time_t when, void (*where)(v
if (free_timeouts) {
q = free_timeouts;
free_timeouts = q->next;
- q->func = where;
- q->what = what;
} else {
- q = malloc(sizeof (struct dhcpd_timeout));
+ q = malloc(sizeof(struct dhcpd_timeout));
if (!q)
fatalx("Can't allocate timeout structure!");
- q->func = where;
- q->what = what;
}
}
-
+ memset(q, 0, sizeof *q);
+ q->func = where;
q->when = when;
+ q->what = what;
/* Now sort this timeout into the timeout list. */
Move initialization out of if/else block, unruly space, and memset
struct beforehand.
