Wrong data is used to determine the record_id - instead of the
rdata, msg data should be used instead. Reproducible with:

 $ ipmitool raw 0xa 0x22
 01 00
 $ ipmitool raw 0xa 0x26 0x1 0x0 0x1 0x0
 Unable to send RAW command (...): Requested sensor, data, or record not found

ipmi_sim is not able to find the record in the SDR since the
record_id is set to a "garbage" value.
---
lanserv/bmc_storage.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lanserv/bmc_storage.c b/lanserv/bmc_storage.c
index dda663da..021d0118 100644
--- a/lanserv/bmc_storage.c
+++ b/lanserv/bmc_storage.c
@@ -1292,7 +1292,7 @@ handle_delete_sdr(lmc_data_t    *mc,
       }
    }

-    record_id = ipmi_get_uint16(rdata+2);
+    record_id = ipmi_get_uint16(msg->data+2);

    if (record_id == 0) {
       entry = mc->main_sdrs.sdrs;
--
2.43.0


_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer

Reply via email to