diff --git a/lib/ipmi_fru.c b/lib/ipmi_fru.c index 89e674c..c9e64fc 100644 --- a/lib/ipmi_fru.c +++ b/lib/ipmi_fru.c @@ -478,8 +478,7 @@ free_fru_bloc(t_ipmi_fru_bloc *bloc) while (bloc) { del = bloc; bloc = bloc->next; - free(del); - del = NULL; + free_n(&del); } } @@ -934,8 +933,7 @@ fru_area_print_multirec_bloc(struct ipmi_intf * intf, struct fru_info * fru, lprintf(LOG_DEBUG ,"Multi-Record area ends at: %i (%xh)",i,i); - free(fru_data); - fru_data = NULL; + free_n(&fru_data); } @@ -977,8 +975,7 @@ fru_area_print_chassis(struct ipmi_intf * intf, struct fru_info * fru, /* read in the full fru */ if (read_fru_area(intf, fru, id, offset, fru_len, fru_data) < 0) { - free(fru_data); - fru_data = NULL; + free_n(&fru_data); return; } @@ -1000,8 +997,7 @@ fru_area_print_chassis(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Chassis Part Number : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } fru_area = get_fru_area_str(fru_data, &i); @@ -1009,8 +1005,7 @@ fru_area_print_chassis(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Chassis Serial : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } /* read any extra fields */ @@ -1021,8 +1016,7 @@ fru_area_print_chassis(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Chassis Extra : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } if (i == j) { @@ -1030,10 +1024,7 @@ fru_area_print_chassis(struct ipmi_intf * intf, struct fru_info * fru, } } - if (fru_data) { - free(fru_data); - fru_data = NULL; - } + free_n(&fru_data); } /* fru_area_print_board - Print FRU Board Area @@ -1075,8 +1066,7 @@ fru_area_print_board(struct ipmi_intf * intf, struct fru_info * fru, /* read in the full fru */ if (read_fru_area(intf, fru, id, offset, fru_len, fru_data) < 0) { - free(fru_data); - fru_data = NULL; + free_n(&fru_data); return; } @@ -1096,8 +1086,7 @@ fru_area_print_board(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Board Mfg : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } fru_area = get_fru_area_str(fru_data, &i); @@ -1105,8 +1094,7 @@ fru_area_print_board(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Board Product : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } fru_area = get_fru_area_str(fru_data, &i); @@ -1114,8 +1102,7 @@ fru_area_print_board(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Board Serial : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } fru_area = get_fru_area_str(fru_data, &i); @@ -1123,8 +1110,7 @@ fru_area_print_board(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Board Part Number : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } fru_area = get_fru_area_str(fru_data, &i); @@ -1132,8 +1118,7 @@ fru_area_print_board(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0 && verbose > 0) { printf(" Board FRU ID : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } /* read any extra fields */ @@ -1144,17 +1129,13 @@ fru_area_print_board(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Board Extra : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } if (i == j) break; } - if (fru_data) { - free(fru_data); - fru_data = NULL; - } + free_n(&fru_data); } /* fru_area_print_product - Print FRU Product Area @@ -1195,8 +1176,7 @@ fru_area_print_product(struct ipmi_intf * intf, struct fru_info * fru, /* read in the full fru */ if (read_fru_area(intf, fru, id, offset, fru_len, fru_data) < 0) { - free(fru_data); - fru_data = NULL; + free_n(&fru_data); return; } @@ -1212,8 +1192,7 @@ fru_area_print_product(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Product Manufacturer : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } fru_area = get_fru_area_str(fru_data, &i); @@ -1221,8 +1200,7 @@ fru_area_print_product(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Product Name : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } fru_area = get_fru_area_str(fru_data, &i); @@ -1230,8 +1208,7 @@ fru_area_print_product(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Product Part Number : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } fru_area = get_fru_area_str(fru_data, &i); @@ -1239,8 +1216,7 @@ fru_area_print_product(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Product Version : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } fru_area = get_fru_area_str(fru_data, &i); @@ -1248,8 +1224,7 @@ fru_area_print_product(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Product Serial : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } fru_area = get_fru_area_str(fru_data, &i); @@ -1257,8 +1232,7 @@ fru_area_print_product(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Product Asset Tag : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } fru_area = get_fru_area_str(fru_data, &i); @@ -1266,8 +1240,7 @@ fru_area_print_product(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0 && verbose > 0) { printf(" Product FRU ID : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } /* read any extra fields */ @@ -1278,17 +1251,13 @@ fru_area_print_product(struct ipmi_intf * intf, struct fru_info * fru, if (strlen(fru_area) > 0) { printf(" Product Extra : %s\n", fru_area); } - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } if (i == j) break; } - if (fru_data) { - free(fru_data); - fru_data = NULL; - } + free_n(&fru_data); } /* fru_area_print_multirec - Print FRU Multi Record Area @@ -1480,7 +1449,7 @@ fru_area_print_multirec(struct ipmi_intf * intf, struct fru_info * fru, lprintf(LOG_DEBUG ,"Multi-Record area ends at: %i (%xh)", last_off, last_off); - free(fru_data); + free_n(&fru_data); } /* ipmi_fru_query_new_value - Query new values to replace original FRU content @@ -1519,7 +1488,7 @@ ipmi_fru_query_new_value(uint8_t *data,int offset, size_t len) for( i=0;itarget_addr = save_addr; } - if (mc) { - free(mc); - mc = NULL; - } - + free_n(&mc); continue; } @@ -3228,15 +3192,11 @@ ipmi_fru_print_all(struct ipmi_intf * intf) fru = (struct sdr_record_fru_locator *) ipmi_sdr_get_record(intf, header, itr); if (!fru || !fru->logical) { - if (fru) { - free(fru); - fru = NULL; - } + free_n(&fru); continue; } rc = ipmi_fru_print(intf, fru); - free(fru); - fru = NULL; + free_n(&fru); } ipmi_sdr_end(itr); @@ -3312,14 +3272,12 @@ ipmi_fru_read_to_bin(struct ipmi_intf * intf, printf("Done\n"); } else { lprintf(LOG_ERR, "Error opening file %s\n", pFileName); - free(pFruBuf); - pFruBuf = NULL; + free_n(&pFruBuf); return; } fclose(pFile); } - free(pFruBuf); - pFruBuf = NULL; + free_n(&pFruBuf); } static void @@ -3383,8 +3341,7 @@ ipmi_fru_write_from_bin(struct ipmi_intf * intf, lprintf(LOG_INFO,"Done"); } - free(pFruBuf); - pFruBuf = NULL; + free_n(&pFruBuf); } /* ipmi_fru_write_help() - print help text for 'write' @@ -3587,8 +3544,7 @@ ipmi_fru_edit_multirec(struct ipmi_intf * intf, uint8_t id , i += h->len + sizeof (struct fru_multirec_header); } while (!(h->format & 0x80) && (error != 1)); - free(fru_data); - fru_data = NULL; + free_n(&fru_data); } return 0; } @@ -3772,8 +3728,7 @@ ipmi_fru_get_multirec(struct ipmi_intf * intf, uint8_t id , i += h->len + sizeof (struct fru_multirec_header); } while (!(h->format & 0x80) && (error != 1)); - free(fru_data); - fru_data = NULL; + free_n(&fru_data); } return 0; } @@ -3831,8 +3786,7 @@ ipmi_fru_upg_ekeying(struct ipmi_intf *intf, char *pFileName, uint8_t fruId) lprintf(LOG_INFO, "Done upgrading Ekey."); exit: - free(buf); - buf = NULL; + free_n(&buf); return rc; } @@ -4334,8 +4288,7 @@ ipmi_fru_read_internal_use(struct ipmi_intf * intf, uint8_t id, char * pFileName else { lprintf(LOG_ERR, "Error opening file %s\n", pFileName); - free(frubuf); - frubuf = NULL; + free_n(&frubuf); return -1; } fclose(pFile); @@ -4343,8 +4296,7 @@ ipmi_fru_read_internal_use(struct ipmi_intf * intf, uint8_t id, char * pFileName } printf("\n"); - free(frubuf); - frubuf = NULL; + free_n(&frubuf); } } @@ -4427,8 +4379,7 @@ ipmi_fru_write_internal_use(struct ipmi_intf * intf, uint8_t id, char * pFileNam lprintf(LOG_ERR, "Unable to read file: %i\n", fru_read_size); } - free(frubuf); - frubuf = NULL; + free_n(&frubuf); } fclose(fp); fp = NULL; @@ -4827,8 +4778,7 @@ f_type, uint8_t f_index, char *f_string) for (i=0; i <= f_index; i++) { fru_field_offset_tmp = fru_field_offset; if (fru_area) { - free(fru_area); - fru_area = NULL; + free_n(&fru_area); } fru_area = (uint8_t *) get_fru_area_str(fru_data, &fru_field_offset); } @@ -4874,15 +4824,9 @@ f_type, uint8_t f_index, char *f_string) } } - ipmi_fru_set_field_string_out: - if (fru_data) { - free(fru_data); - fru_data = NULL; - } - if (fru_area) { - free(fru_area); - fru_area = NULL; - } +ipmi_fru_set_field_string_out: + free_n(&fru_data); + free_n(&fru_area); return rc; } @@ -5003,10 +4947,7 @@ ipmi_fru_set_field_string_rebuild(struct ipmi_intf * intf, uint8_t fruId, 3) Seek to field index */ for (i = 0;i <= f_index; i++) { fru_field_offset_tmp = fru_field_offset; - if (fru_area) { - free(fru_area); - fru_area = NULL; - } + free_n(&fru_area); fru_area = (uint8_t *) get_fru_area_str(fru_data_old, &fru_field_offset); } @@ -5237,19 +5178,10 @@ ipmi_fru_set_field_string_rebuild(struct ipmi_intf * intf, uint8_t fruId, printf("Done.\n"); - ipmi_fru_set_field_string_rebuild_out: - if (fru_area) { - free(fru_area); - fru_area = NULL; - } - if (fru_data_new) { - free(fru_data_new); - fru_data_new = NULL; - } - if (fru_data_old) { - free(fru_data_old); - fru_data_old = NULL; - } +ipmi_fru_set_field_string_rebuild_out: + free_n(&fru_area); + free_n(&fru_data_new); + free_n(&fru_data_old); return rc; }