summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2014-04-12 15:28:34 +1000
committerZdenek Styblik <stybla@turnovfree.net>2014-04-12 15:13:25 +0200
commit8d5e8fcf7a1cd2b9b59e9c7907445974acf294b1 (patch)
tree46b1c36844387aa314a85e6a7f48cd74f8af6404
parent2c7526be6b0bcd20c0b1e428e15ce40838cf2208 (diff)
downloadipmitool-8d5e8fcf7a1cd2b9b59e9c7907445974acf294b1.tar.gz
Incorrect byteswap in SOL maximum payload code
max_inbound_payload_size, max_outbound_payload_size and port are assembled byte by byte using shifts. This works correctly in both little and big endian and doing a subsequent byte swap is wrong. To highlight this issue I dumped the values on a big endian machine: max_inbound_payload_size 51200 max_outbound_payload_size 51200 port 28418 And after this fix: max_inbound_payload_size 200 max_outbound_payload_size 200 port 623 Signed-off-by: Zdenek Styblik <stybla@turnovfree.net>
-rw-r--r--lib/ipmi_sol.c11
1 files changed, 0 insertions, 11 deletions
diff --git a/lib/ipmi_sol.c b/lib/ipmi_sol.c
index 6a02e91..a5b962f 100644
--- a/lib/ipmi_sol.c
+++ b/lib/ipmi_sol.c
@@ -1830,17 +1830,6 @@ ipmi_sol_activate(struct ipmi_intf * intf, int looptest, int interval,
(ap_rsp.payload_udp_port[1] << 8) |
ap_rsp.payload_udp_port[0];
-
- #if WORDS_BIGENDIAN
- intf->session->sol_data.max_inbound_payload_size =
- BSWAP_16(intf->session->sol_data.max_inbound_payload_size);
- intf->session->sol_data.max_outbound_payload_size =
- BSWAP_16(intf->session->sol_data.max_outbound_payload_size);
- intf->session->sol_data.port =
- BSWAP_16(intf->session->sol_data.port);
- #endif
-
-
intf->session->timeout = 1;