From 17826af965356b9e1925d8800c04c68f42f1dff4 Mon Sep 17 00:00:00 2001 From: Olzhas <oljas.jarasbaev@demlabs.net> Date: Thu, 4 Jul 2024 17:10:24 +0700 Subject: [PATCH] [*]overflow fix --- global-db/dap_global_db_pkt.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/global-db/dap_global_db_pkt.c b/global-db/dap_global_db_pkt.c index 1f4948588..a34db2acb 100644 --- a/global-db/dap_global_db_pkt.c +++ b/global-db/dap_global_db_pkt.c @@ -178,21 +178,19 @@ static byte_t *s_fill_one_store_obj(dap_global_db_pkt_t *a_pkt, dap_store_obj_t a_obj->crc = a_pkt->crc; byte_t *l_data_ptr = a_pkt->data; - a_obj->group = DAP_DUP_SIZE(l_data_ptr, a_pkt->group_len + sizeof(char)); + a_obj->group = strndup((char*)l_data_ptr, a_pkt->group_len); if (!a_obj->group) { log_it(L_CRITICAL, "%s", c_error_memory_alloc); return NULL; } - a_obj->group[a_pkt->group_len] = '\0'; l_data_ptr += a_pkt->group_len; - a_obj->key = DAP_DUP_SIZE(l_data_ptr, a_pkt->key_len + sizeof(char)); + a_obj->key = strndup((char*)l_data_ptr, a_pkt->key_len); if (!a_obj->key) { log_it(L_CRITICAL, "%s", c_error_memory_alloc); DAP_DELETE(a_obj->group); return NULL; } - ((char *)a_obj->key)[a_pkt->key_len] = '\0'; l_data_ptr += a_pkt->key_len; if (a_pkt->value_len) { -- GitLab