[SBI] Fix possible crash when handling PatchItems in NFProfile PATCH req

This commit is contained in:
Bostjan Meglic 2023-02-15 07:14:31 +00:00 committed by Sukchan Lee
parent cef5b38087
commit dfcd3431c3
1 changed files with 9 additions and 8 deletions

View File

@ -1211,9 +1211,9 @@ ogs_sbi_request_t *ogs_nnrf_nfm_build_update(void)
ogs_sbi_message_t message;
ogs_sbi_request_t *request = NULL;
OpenAPI_list_t *PatchItemList;
OpenAPI_patch_item_t StatusItem;
OpenAPI_patch_item_t LoadItem;
OpenAPI_list_t *PatchItemList = NULL;
OpenAPI_patch_item_t StatusItem = { 0 };
OpenAPI_patch_item_t LoadItem = { 0 };
nf_instance = ogs_sbi_self()->nf_instance;
ogs_assert(nf_instance);
@ -1235,7 +1235,6 @@ ogs_sbi_request_t *ogs_nnrf_nfm_build_update(void)
goto end;
}
memset(&StatusItem, 0, sizeof(StatusItem));
StatusItem.op = OpenAPI_patch_operation_replace;
StatusItem.path = (char *)"/nfStatus";
StatusItem.value = OpenAPI_any_type_create_string(
@ -1247,7 +1246,6 @@ ogs_sbi_request_t *ogs_nnrf_nfm_build_update(void)
OpenAPI_list_add(PatchItemList, &StatusItem);
memset(&LoadItem, 0, sizeof(LoadItem));
LoadItem.op = OpenAPI_patch_operation_replace;
LoadItem.path = (char *)"/load";
LoadItem.value = OpenAPI_any_type_create_number(ogs_sbi_self()->nf_instance->load);
@ -1264,9 +1262,12 @@ ogs_sbi_request_t *ogs_nnrf_nfm_build_update(void)
ogs_expect(request);
end:
OpenAPI_list_free(PatchItemList);
OpenAPI_any_type_free(StatusItem.value);
OpenAPI_any_type_free(LoadItem.value);
if (LoadItem.value)
OpenAPI_any_type_free(LoadItem.value);
if (StatusItem.value)
OpenAPI_any_type_free(StatusItem.value);
if (PatchItemList)
OpenAPI_list_free(PatchItemList);
return request;
}