Fix a possible null pointer dereference
- This commit would fix a potential null pointer dereference.
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: Ic323bde2c4bd35c35132e4310466cd6ae7ec7aeb
Signed-off-by: George Liu <liuxiwei@inspur.com>
diff --git a/libpldm/fru.c b/libpldm/fru.c
index 207d4de..3e0887d 100644
--- a/libpldm/fru.c
+++ b/libpldm/fru.c
@@ -177,13 +177,12 @@
size_t record_hdr_size = sizeof(struct pldm_fru_record_data_format) -
sizeof(struct pldm_fru_record_tlv);
- if ((*curr_size + record_hdr_size + tlvs_size) != total_size) {
- return PLDM_ERROR_INVALID_LENGTH;
- }
-
if (fru_table == NULL || curr_size == NULL || !tlvs_size) {
return PLDM_ERROR_INVALID_DATA;
}
+ if ((*curr_size + record_hdr_size + tlvs_size) != total_size) {
+ return PLDM_ERROR_INVALID_LENGTH;
+ }
struct pldm_fru_record_data_format *record =
(struct pldm_fru_record_data_format *)(fru_table + *curr_size);