From a548df0b2670be989e9cb066bdea173bd1e77405 Mon Sep 17 00:00:00 2001 From: Constantin Papizh <p.const@bk.ru> Date: Tue, 4 Aug 2020 17:14:16 +0300 Subject: [PATCH] deserialization fixed --- dap-sdk/crypto/src/dap_enc_key.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/dap-sdk/crypto/src/dap_enc_key.c b/dap-sdk/crypto/src/dap_enc_key.c index a361c1513a..24e38aedf9 100755 --- a/dap-sdk/crypto/src/dap_enc_key.c +++ b/dap-sdk/crypto/src/dap_enc_key.c @@ -650,14 +650,19 @@ dap_enc_key_t* dap_enc_key_deserealize(const void *buf, size_t buf_size) result->priv_key_data_size = in_key->priv_key_data_size; result->pub_key_data_size = in_key->pub_key_data_size; result->_inheritor_size = in_key->inheritor_size; + DAP_DEL_Z(result->priv_key_data) + DAP_DEL_Z(result->pub_key_data) + result->priv_key_data = DAP_NEW_Z_SIZE(uint8_t, result->priv_key_data_size); memcpy(result->priv_key_data, in_key->priv_key_data, result->priv_key_data_size); + result->pub_key_data = DAP_NEW_Z_SIZE(uint8_t, result->pub_key_data_size); memcpy(result->pub_key_data, in_key->pub_key_data, result->pub_key_data_size); - - if(in_key->inheritor_size) + if(in_key->inheritor_size) { + DAP_DEL_Z(result->_inheritor) + result->_inheritor = DAP_NEW_Z(dap_enc_key_t); memcpy(result->_inheritor, in_key->inheritor, in_key->inheritor_size); - else + } else { result->_inheritor = NULL; - + } return result; } -- GitLab