diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-10-03 04:13:52 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-03 11:03:41 -0400 |
commit | 397f4ebf4f317b1d5ecd678a8559a5cb5c6975c3 (patch) | |
tree | d42ed51b81aaf84016c24af48ad9f4c277da8fac | |
parent | c3b6571384024be31e8b3442c0e7c3b127110d9b (diff) |
[PATCH] ipmi: fix uninitialized data bug
gcc issues the following warning:
drivers/char/ipmi/ipmi_si_intf.c: In function âinit_ipmi_siâ:
drivers/char/ipmi/ipmi_si_intf.c:1729: warning: âdata.irqâ may be used uninitialized in this function
This is indeed a bug. data.irq is completely uninitialized in some code
paths. Worse than that, data from a previous decode_dmi() run can easily
leak through successive calls.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Acked-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | drivers/char/ipmi/ipmi_si_intf.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index 908521e36d81..ad9ea06caee0 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c | |||
@@ -1734,6 +1734,7 @@ static void __devinit dmi_find_bmc(void) | |||
1734 | int rv; | 1734 | int rv; |
1735 | 1735 | ||
1736 | while ((dev = dmi_find_device(DMI_DEV_TYPE_IPMI, NULL, dev))) { | 1736 | while ((dev = dmi_find_device(DMI_DEV_TYPE_IPMI, NULL, dev))) { |
1737 | memset(&data, 0, sizeof(data)); | ||
1737 | rv = decode_dmi((struct dmi_header *) dev->device_data, &data); | 1738 | rv = decode_dmi((struct dmi_header *) dev->device_data, &data); |
1738 | if (!rv) | 1739 | if (!rv) |
1739 | try_init_dmi(&data); | 1740 | try_init_dmi(&data); |