mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-10 10:37:22 +00:00
fru: swap free() calls for free_n()
Swap calls to free() with calls to free_n() to leverage helper method and handle clearing pointers after freeing in one step. Signed-off-by: Patrick Venture <venture@google.com>
This commit is contained in:
parent
eb5f26060a
commit
a8b3b6282b
166
lib/ipmi_fru.c
166
lib/ipmi_fru.c
@ -478,8 +478,7 @@ free_fru_bloc(t_ipmi_fru_bloc *bloc)
|
|||||||
while (bloc) {
|
while (bloc) {
|
||||||
del = bloc;
|
del = bloc;
|
||||||
bloc = bloc->next;
|
bloc = bloc->next;
|
||||||
free(del);
|
free_n(&del);
|
||||||
del = NULL;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -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);
|
lprintf(LOG_DEBUG ,"Multi-Record area ends at: %i (%xh)",i,i);
|
||||||
|
|
||||||
free(fru_data);
|
free_n(&fru_data);
|
||||||
fru_data = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -977,8 +975,7 @@ fru_area_print_chassis(struct ipmi_intf * intf, struct fru_info * fru,
|
|||||||
|
|
||||||
/* read in the full fru */
|
/* read in the full fru */
|
||||||
if (read_fru_area(intf, fru, id, offset, fru_len, fru_data) < 0) {
|
if (read_fru_area(intf, fru, id, offset, fru_len, fru_data) < 0) {
|
||||||
free(fru_data);
|
free_n(&fru_data);
|
||||||
fru_data = NULL;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1000,8 +997,7 @@ fru_area_print_chassis(struct ipmi_intf * intf, struct fru_info * fru,
|
|||||||
if (strlen(fru_area) > 0) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Chassis Part Number : %s\n", fru_area);
|
printf(" Chassis Part Number : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fru_area = get_fru_area_str(fru_data, &i);
|
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) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Chassis Serial : %s\n", fru_area);
|
printf(" Chassis Serial : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* read any extra fields */
|
/* 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) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Chassis Extra : %s\n", fru_area);
|
printf(" Chassis Extra : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i == j) {
|
if (i == j) {
|
||||||
@ -1030,10 +1024,7 @@ fru_area_print_chassis(struct ipmi_intf * intf, struct fru_info * fru,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fru_data) {
|
free_n(&fru_data);
|
||||||
free(fru_data);
|
|
||||||
fru_data = NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* fru_area_print_board - Print FRU Board Area
|
/* 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 */
|
/* read in the full fru */
|
||||||
if (read_fru_area(intf, fru, id, offset, fru_len, fru_data) < 0) {
|
if (read_fru_area(intf, fru, id, offset, fru_len, fru_data) < 0) {
|
||||||
free(fru_data);
|
free_n(&fru_data);
|
||||||
fru_data = NULL;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1096,8 +1086,7 @@ fru_area_print_board(struct ipmi_intf * intf, struct fru_info * fru,
|
|||||||
if (strlen(fru_area) > 0) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Board Mfg : %s\n", fru_area);
|
printf(" Board Mfg : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fru_area = get_fru_area_str(fru_data, &i);
|
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) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Board Product : %s\n", fru_area);
|
printf(" Board Product : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fru_area = get_fru_area_str(fru_data, &i);
|
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) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Board Serial : %s\n", fru_area);
|
printf(" Board Serial : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fru_area = get_fru_area_str(fru_data, &i);
|
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) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Board Part Number : %s\n", fru_area);
|
printf(" Board Part Number : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fru_area = get_fru_area_str(fru_data, &i);
|
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) {
|
if (strlen(fru_area) > 0 && verbose > 0) {
|
||||||
printf(" Board FRU ID : %s\n", fru_area);
|
printf(" Board FRU ID : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* read any extra fields */
|
/* 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) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Board Extra : %s\n", fru_area);
|
printf(" Board Extra : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
if (i == j)
|
if (i == j)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fru_data) {
|
free_n(&fru_data);
|
||||||
free(fru_data);
|
|
||||||
fru_data = NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* fru_area_print_product - Print FRU Product Area
|
/* 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 */
|
/* read in the full fru */
|
||||||
if (read_fru_area(intf, fru, id, offset, fru_len, fru_data) < 0) {
|
if (read_fru_area(intf, fru, id, offset, fru_len, fru_data) < 0) {
|
||||||
free(fru_data);
|
free_n(&fru_data);
|
||||||
fru_data = NULL;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1212,8 +1192,7 @@ fru_area_print_product(struct ipmi_intf * intf, struct fru_info * fru,
|
|||||||
if (strlen(fru_area) > 0) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Product Manufacturer : %s\n", fru_area);
|
printf(" Product Manufacturer : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fru_area = get_fru_area_str(fru_data, &i);
|
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) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Product Name : %s\n", fru_area);
|
printf(" Product Name : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fru_area = get_fru_area_str(fru_data, &i);
|
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) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Product Part Number : %s\n", fru_area);
|
printf(" Product Part Number : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fru_area = get_fru_area_str(fru_data, &i);
|
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) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Product Version : %s\n", fru_area);
|
printf(" Product Version : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fru_area = get_fru_area_str(fru_data, &i);
|
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) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Product Serial : %s\n", fru_area);
|
printf(" Product Serial : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fru_area = get_fru_area_str(fru_data, &i);
|
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) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Product Asset Tag : %s\n", fru_area);
|
printf(" Product Asset Tag : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fru_area = get_fru_area_str(fru_data, &i);
|
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) {
|
if (strlen(fru_area) > 0 && verbose > 0) {
|
||||||
printf(" Product FRU ID : %s\n", fru_area);
|
printf(" Product FRU ID : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* read any extra fields */
|
/* 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) {
|
if (strlen(fru_area) > 0) {
|
||||||
printf(" Product Extra : %s\n", fru_area);
|
printf(" Product Extra : %s\n", fru_area);
|
||||||
}
|
}
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
if (i == j)
|
if (i == j)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fru_data) {
|
free_n(&fru_data);
|
||||||
free(fru_data);
|
|
||||||
fru_data = NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* fru_area_print_multirec - Print FRU Multi Record Area
|
/* 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);
|
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
|
/* 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;i<len;i++ ){
|
for( i=0;i<len;i++ ){
|
||||||
ret = scanf("%x", holder+i);
|
ret = scanf("%x", holder+i);
|
||||||
if (ret != 1) {
|
if (ret != 1) {
|
||||||
free(holder);
|
free_n(&holder);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1527,8 +1496,7 @@ ipmi_fru_query_new_value(uint8_t *data,int offset, size_t len)
|
|||||||
data[offset++] = (unsigned char) *(holder+i);
|
data[offset++] = (unsigned char) *(holder+i);
|
||||||
}
|
}
|
||||||
/* &data[offset++] */
|
/* &data[offset++] */
|
||||||
free(holder);
|
free_n(&holder);
|
||||||
holder = NULL;
|
|
||||||
status = true;
|
status = true;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -3213,11 +3181,7 @@ ipmi_fru_print_all(struct ipmi_intf * intf)
|
|||||||
intf->target_addr = save_addr;
|
intf->target_addr = save_addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mc) {
|
free_n(&mc);
|
||||||
free(mc);
|
|
||||||
mc = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3228,15 +3192,11 @@ ipmi_fru_print_all(struct ipmi_intf * intf)
|
|||||||
fru = (struct sdr_record_fru_locator *)
|
fru = (struct sdr_record_fru_locator *)
|
||||||
ipmi_sdr_get_record(intf, header, itr);
|
ipmi_sdr_get_record(intf, header, itr);
|
||||||
if (!fru || !fru->logical) {
|
if (!fru || !fru->logical) {
|
||||||
if (fru) {
|
free_n(&fru);
|
||||||
free(fru);
|
|
||||||
fru = NULL;
|
|
||||||
}
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
rc = ipmi_fru_print(intf, fru);
|
rc = ipmi_fru_print(intf, fru);
|
||||||
free(fru);
|
free_n(&fru);
|
||||||
fru = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ipmi_sdr_end(itr);
|
ipmi_sdr_end(itr);
|
||||||
@ -3312,14 +3272,12 @@ ipmi_fru_read_to_bin(struct ipmi_intf * intf,
|
|||||||
printf("Done\n");
|
printf("Done\n");
|
||||||
} else {
|
} else {
|
||||||
lprintf(LOG_ERR, "Error opening file %s\n", pFileName);
|
lprintf(LOG_ERR, "Error opening file %s\n", pFileName);
|
||||||
free(pFruBuf);
|
free_n(&pFruBuf);
|
||||||
pFruBuf = NULL;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
fclose(pFile);
|
fclose(pFile);
|
||||||
}
|
}
|
||||||
free(pFruBuf);
|
free_n(&pFruBuf);
|
||||||
pFruBuf = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -3383,8 +3341,7 @@ ipmi_fru_write_from_bin(struct ipmi_intf * intf,
|
|||||||
lprintf(LOG_INFO,"Done");
|
lprintf(LOG_INFO,"Done");
|
||||||
}
|
}
|
||||||
|
|
||||||
free(pFruBuf);
|
free_n(&pFruBuf);
|
||||||
pFruBuf = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ipmi_fru_write_help() - print help text for 'write'
|
/* 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);
|
i += h->len + sizeof (struct fru_multirec_header);
|
||||||
} while (!(h->format & 0x80) && (error != 1));
|
} while (!(h->format & 0x80) && (error != 1));
|
||||||
|
|
||||||
free(fru_data);
|
free_n(&fru_data);
|
||||||
fru_data = NULL;
|
|
||||||
}
|
}
|
||||||
return 0;
|
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);
|
i += h->len + sizeof (struct fru_multirec_header);
|
||||||
} while (!(h->format & 0x80) && (error != 1));
|
} while (!(h->format & 0x80) && (error != 1));
|
||||||
|
|
||||||
free(fru_data);
|
free_n(&fru_data);
|
||||||
fru_data = NULL;
|
|
||||||
}
|
}
|
||||||
return 0;
|
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.");
|
lprintf(LOG_INFO, "Done upgrading Ekey.");
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
free(buf);
|
free_n(&buf);
|
||||||
buf = NULL;
|
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
@ -4334,8 +4288,7 @@ ipmi_fru_read_internal_use(struct ipmi_intf * intf, uint8_t id, char * pFileName
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
lprintf(LOG_ERR, "Error opening file %s\n", pFileName);
|
lprintf(LOG_ERR, "Error opening file %s\n", pFileName);
|
||||||
free(frubuf);
|
free_n(&frubuf);
|
||||||
frubuf = NULL;
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
fclose(pFile);
|
fclose(pFile);
|
||||||
@ -4343,8 +4296,7 @@ ipmi_fru_read_internal_use(struct ipmi_intf * intf, uint8_t id, char * pFileName
|
|||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
||||||
free(frubuf);
|
free_n(&frubuf);
|
||||||
frubuf = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -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);
|
lprintf(LOG_ERR, "Unable to read file: %i\n", fru_read_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
free(frubuf);
|
free_n(&frubuf);
|
||||||
frubuf = NULL;
|
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
fp = NULL;
|
fp = NULL;
|
||||||
@ -4827,8 +4778,7 @@ f_type, uint8_t f_index, char *f_string)
|
|||||||
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) {
|
if (fru_area) {
|
||||||
free(fru_area);
|
free_n(&fru_area);
|
||||||
fru_area = NULL;
|
|
||||||
}
|
}
|
||||||
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);
|
||||||
}
|
}
|
||||||
@ -4874,15 +4824,9 @@ f_type, uint8_t f_index, char *f_string)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ipmi_fru_set_field_string_out:
|
ipmi_fru_set_field_string_out:
|
||||||
if (fru_data) {
|
free_n(&fru_data);
|
||||||
free(fru_data);
|
free_n(&fru_area);
|
||||||
fru_data = NULL;
|
|
||||||
}
|
|
||||||
if (fru_area) {
|
|
||||||
free(fru_area);
|
|
||||||
fru_area = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
@ -5003,10 +4947,7 @@ 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) {
|
free_n(&fru_area);
|
||||||
free(fru_area);
|
|
||||||
fru_area = NULL;
|
|
||||||
}
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5237,19 +5178,10 @@ ipmi_fru_set_field_string_rebuild(struct ipmi_intf * intf, uint8_t fruId,
|
|||||||
|
|
||||||
printf("Done.\n");
|
printf("Done.\n");
|
||||||
|
|
||||||
ipmi_fru_set_field_string_rebuild_out:
|
ipmi_fru_set_field_string_rebuild_out:
|
||||||
if (fru_area) {
|
free_n(&fru_area);
|
||||||
free(fru_area);
|
free_n(&fru_data_new);
|
||||||
fru_area = NULL;
|
free_n(&fru_data_old);
|
||||||
}
|
|
||||||
if (fru_data_new) {
|
|
||||||
free(fru_data_new);
|
|
||||||
fru_data_new = NULL;
|
|
||||||
}
|
|
||||||
if (fru_data_old) {
|
|
||||||
free(fru_data_old);
|
|
||||||
fru_data_old = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user