[ibsim patch 23/23] sim_mad.c: Fix accessing of uninitialised memory in send_trap

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



==11780== 4 errors in context 1 of 1:
==11780== Syscall param write(buf) points to uninitialised byte(s)
==11780==    at 0x5349F34: write (in /usr/lib64/libc-2.27.so)
==11780==    by 0x40CA7E: send_trap (sim_mad.c:2014)
==11780==    by 0x407D57: do_portinfo (sim_mad.c:672)
==11780==    by 0x40C2CD: process_packet (sim_mad.c:1887)
==11780==    by 0x41254B: sim_read_pkt (ibsim.c:484)
==11780==    by 0x412D49: sim_run (ibsim.c:601)
==11780==    by 0x4135B3: main (ibsim.c:783)
==11780==  Address 0x1ffeffed44 is on thread 1's stack
==11780==  in frame #1, created by send_trap (sim_mad.c:1971)
==11780==  Uninitialised value was created by a stack allocation
==11780==    at 0x40C832: send_trap (sim_mad.c:1971)
Signed-off-by: Honggang Li <honli@xxxxxxxxxx>
---
 ibsim/sim_mad.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ibsim/sim_mad.c b/ibsim/sim_mad.c
index 5ef1d0a6dbeb..dfd1a31e178e 100644
--- a/ibsim/sim_mad.c
+++ b/ibsim/sim_mad.c
@@ -1982,7 +1982,7 @@ int send_trap(Port * port, unsigned trapnum)
 	}
 
 	encode_trapfn = encodetrap[trapnum];
-	memset(req.mad, 0, sizeof(req.mad));
+	memset(&req, 0, sizeof(req));
 	encode_trap_header(req.mad);
 	if (encode_trapfn(port, data) < 0)
 		return -1;
-- 
2.15.0-rc1




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux