Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved --- ipmitool-1.8.12.old/lib/ipmi_fru.c Wed Oct 31 19:56:47 2012 +++ ipmitool-1.8.12/lib/ipmi_fru.c Wed Oct 31 20:00:06 2012 @@ -1319,12 +1319,20 @@ printf (" Peak capacity holdup : %d s\n", peak_hold_up_time); if (ps->combined_capacity == 0) - printf (" Combined capacity : not specified\n"); - else - printf (" Combined capacity : %d W (%s and %s)\n", - ps->combined_capacity, - combined_voltage_desc [ps->combined_voltage1], - combined_voltage_desc [ps->combined_voltage2]); + printf (" Combined capacity : not specified\n"); + else { + if ((ps->combined_voltage1 < + sizeof(combined_voltage_desc)/sizeof(char *)) && + (ps->combined_voltage2 < + sizeof(combined_voltage_desc)/sizeof(char *))) + printf (" Combined capacity : %d W (%s and %s)\n", + ps->combined_capacity, + combined_voltage_desc [ps->combined_voltage1], + combined_voltage_desc [ps->combined_voltage2]); + else + printf (" Combined capacity : %d W (voltages not specified correctly)\n", + ps->combined_capacity); + } if (ps->predictive_fail) printf (" Fan lower threshold : %d RPS\n", ps->rps_threshold);