diff options
author | Pyun DoHyun <dh79.pyun@samsung.com> | 2021-06-15 04:27:02 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@review> | 2021-06-15 04:27:02 +0000 |
commit | 99c852126f1a0ecc0e34bb713e40cc4a95c47b4e (patch) | |
tree | cca8b06cff483b0b2f22f6464c879430bf03dd4c | |
parent | 50f94b57cd646f68a29046a37bb203d4eb700efc (diff) | |
parent | 079dcc8924d944f9575e5019f5609c0ff7aca3ed (diff) | |
download | user-awareness-99c852126f1a0ecc0e34bb713e40cc4a95c47b4e.tar.gz user-awareness-99c852126f1a0ecc0e34bb713e40cc4a95c47b4e.tar.bz2 user-awareness-99c852126f1a0ecc0e34bb713e40cc4a95c47b4e.zip |
Merge "Fix dereferencing before NULL check issue." into tizensubmit/tizen/20210615.073530accepted/tizen/unified/20210616.132532
-rwxr-xr-x | src/user-awareness-payload.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/user-awareness-payload.c b/src/user-awareness-payload.c index d7f66f7..ac116b6 100755 --- a/src/user-awareness-payload.c +++ b/src/user-awareness-payload.c @@ -419,19 +419,25 @@ ua_payload_info_s* _ua_payload_clone(ua_payload_info_s *org_payload) payload->extension_value2 = org_payload->extension_value2; payload->device_uid_len = org_payload->device_uid_len; - payload->device_uid = g_memdup(org_payload->device_uid, org_payload->device_uid_len); - if (!payload->device_uid && org_payload->device_uid) { - UA_ERR("g_malloc0 failed"); - _ua_free_ua_payload_info_s(payload); - return NULL; + + if (org_payload->device_uid) { + payload->device_uid = g_memdup(org_payload->device_uid, org_payload->device_uid_len); + if (!payload->device_uid) { + UA_ERR("g_memdup failed"); + _ua_free_ua_payload_info_s(payload); + return NULL; + } } user_data_len = UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN - 1 - org_payload->device_uid_len; - payload->user_data = g_memdup(org_payload->user_data, user_data_len); - if (!payload->user_data && org_payload->user_data) { - UA_ERR("g_malloc0 failed"); - _ua_free_ua_payload_info_s(payload); - return NULL; + + if (org_payload->user_data) { + payload->user_data = g_memdup(org_payload->user_data, user_data_len); + if (!payload->user_data) { + UA_ERR("g_memdup failed"); + _ua_free_ua_payload_info_s(payload); + return NULL; + } } FUNC_EXIT; |