--- ipmitool-1.8.11/lib/ipmi_fru.c.orig 2012-12-07 15:48:31.000000000 +0100 +++ ipmitool-1.8.11/lib/ipmi_fru.c 2012-12-12 17:19:14.000000000 +0100 @@ -955,6 +957,7 @@ fru_area_print_chassis(struct ipmi_intf char * fru_area; uint8_t * fru_data; uint32_t fru_len, area_len, i; + int chassis_type; i = offset; fru_len = 0; @@ -983,8 +986,11 @@ fru_area_print_chassis(struct ipmi_intf i++; /* skip fru area version */ area_len = fru_data[i++] * 8; /* fru area length */ + chassis_type = fru_data[i++]; + if (chassis_type > 23) chassis_type = 1; /* unknown */ + printf(" Chassis Type : %s\n", - chassis_type_desc[fru_data[i++]]); + chassis_type_desc[chassis_type]); fru_area = get_fru_area_str(fru_data, &i); if (fru_area != NULL && strlen(fru_area) > 0) {