ID: 3600911 - 'lib/ipmi_fru.c' memory leaks

Commit fixes memory leanks in functions ipmi_fru_set_field_string() and
ipmi_fru_set_field_string_rebuild() in 'lib/ipmi_fru.c'.

Note: it seems to me like these for() cycles do nothing.

Reported-by: Ales Ledvinka
This commit is contained in:
Zdenek Styblik 2013-02-20 13:14:37 +00:00
parent 8c91abfa19
commit fd2ab0b7bb

View File

@ -4708,9 +4708,11 @@ f_type, uint8_t f_index, char *f_string)
f_index= f_index - 0x30; f_index= f_index - 0x30;
/*Seek to field index */ /*Seek to field index */
for( i=0; i<=f_index; i++ ) for (i=0; i <= f_index; i++) {
{
fru_field_offset_tmp = fru_field_offset; fru_field_offset_tmp = fru_field_offset;
if (fru_area != NULL) {
free(fru_area);
}
fru_area = (uint8_t *) get_fru_area_str(fru_data, &fru_field_offset); fru_area = (uint8_t *) get_fru_area_str(fru_data, &fru_field_offset);
} }
@ -4885,9 +4887,11 @@ ipmi_fru_set_field_string_rebuild(struct ipmi_intf * intf, uint8_t fruId,
/************************* /*************************
3) Seek to field index */ 3) Seek to field index */
for( i=0; i<=f_index; i++ ) for (i = 0;i <= f_index; i++) {
{
fru_field_offset_tmp = fru_field_offset; fru_field_offset_tmp = fru_field_offset;
if (fru_area != NULL) {
free(fru_area);
}
fru_area = (uint8_t *) get_fru_area_str(fru_data_old, &fru_field_offset); fru_area = (uint8_t *) get_fru_area_str(fru_data_old, &fru_field_offset);
} }