Valgrind reports "Conditional jump or move depends on uninitialised value(s)"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libmodbus |
Fix Released
|
High
|
Stéphane Raimbault |
Bug Description
libmodbus 2.2.0, ubuntu 8.04, valgrind-
Running my RTU master app through Valgrind generates those errors on first occurence of rtu slave timeout. Just on the first occurence, not when the slave answers correctly. (Note the different functions, set_single and read_registers)
==8308== Conditional jump or move depends on uninitialised value(s)
==8308== at 0x403906C: modbus_receive (modbus.c:743)
==8308== by 0x40396E3: set_single (modbus.c:1215)
==8308== by 0x805108D: function_modbus (main.c:2270)
==8308== by 0x44944FA: start_thread (in /lib/tls/
==8308== by 0x4416E5D: clone (in /lib/tls/
==8308== Conditional jump or move depends on uninitialised value(s)
==8308== at 0x403906C: modbus_receive (modbus.c:743)
==8308== by 0x40397CE: read_registers (modbus.c:1146)
==8308== by 0x80509A9: function_modbus (main.c:2146)
==8308== by 0x44944FA: start_thread (in /lib/tls/
==8308== by 0x4416E5D: clone (in /lib/tls/
Looks like some variable is uninitialised the first time there is a timeout from rtu slave.
As this is a memory thing, I mark this bug a security vulnerbility.
/Henrik
Related branches
visibility: | private → public |
Changed in libmodbus: | |
status: | Fix Committed → Fix Released |
Thank you, Henrik!