diff -Nur ipmitool.sav/lib/ipmi_sol.c ipmitool/lib/ipmi_sol.c
--- ipmitool.sav/lib/ipmi_sol.c	2009-01-18 14:53:12.000000000 +0100
+++ ipmitool/lib/ipmi_sol.c	2011-02-08 13:45:51.574399671 +0100
@@ -1537,6 +1537,10 @@
 	int    keepAliveRet = 0;
 	int    retrySol = 0;
 
+	/* Subtract SOL header from max_inbound_payload_size */
+	if (buffer_size > 4)
+		buffer_size -= 4;
+
 	buffer = (char*)malloc(buffer_size);
 	if (buffer == NULL) {
 		lprintf(LOG_ERR, "ipmitool: malloc failure"); 