SKALE-2002 fix memory leak and improve logging

parent f86c19bb
...@@ -1538,7 +1538,10 @@ void trustedCreateBlsKeyAES(int *errStatus, char *errString, const char *s_share ...@@ -1538,7 +1538,10 @@ void trustedCreateBlsKeyAES(int *errStatus, char *errString, const char *s_share
if (decr_sshare == NULL) { if (decr_sshare == NULL) {
*errStatus = 1; *errStatus = 1;
snprintf(errString, BUF_LEN, "invalid common_key"); snprintf(errString, BUF_LEN, "invalid common_key");
LOG_ERROR(common_key);
mpz_clear(sum); mpz_clear(sum);
return; return;
} }
decr_sshare[64] = 0; decr_sshare[64] = 0;
...@@ -1548,7 +1551,11 @@ void trustedCreateBlsKeyAES(int *errStatus, char *errString, const char *s_share ...@@ -1548,7 +1551,11 @@ void trustedCreateBlsKeyAES(int *errStatus, char *errString, const char *s_share
if (mpz_set_str(decr_secret_share, decr_sshare, 16) == -1) { if (mpz_set_str(decr_secret_share, decr_sshare, 16) == -1) {
*errStatus = 111; *errStatus = 111;
snprintf(errString, BUF_LEN, decr_sshare); snprintf(errString, BUF_LEN, decr_sshare);
LOG_ERROR(decr_sshare);
mpz_clear(decr_secret_share); mpz_clear(decr_secret_share);
mpz_clear(sum);
return; return;
} }
...@@ -1574,9 +1581,11 @@ void trustedCreateBlsKeyAES(int *errStatus, char *errString, const char *s_share ...@@ -1574,9 +1581,11 @@ void trustedCreateBlsKeyAES(int *errStatus, char *errString, const char *s_share
if (status != SGX_SUCCESS) { if (status != SGX_SUCCESS) {
*errStatus = -1; *errStatus = -1;
snprintf(errString, BUF_LEN, "aes encrypt bls private key failed with status %d ", status); snprintf(errString, BUF_LEN, "aes encrypt bls private key failed with status %d ", status);
mpz_clear(bls_key); mpz_clear(bls_key);
mpz_clear(sum); mpz_clear(sum);
mpz_clear(q); mpz_clear(q);
return; return;
} }
*enc_bls_key_len = strlen(key_share) + SGX_AESGCM_MAC_SIZE + SGX_AESGCM_IV_SIZE; *enc_bls_key_len = strlen(key_share) + SGX_AESGCM_MAC_SIZE + SGX_AESGCM_IV_SIZE;
......
...@@ -238,8 +238,7 @@ void sendRPCRequest() { ...@@ -238,8 +238,7 @@ void sendRPCRequest() {
string hash = SAMPLE_HASH; string hash = SAMPLE_HASH;
auto hash_arr = make_shared < array < uint8_t, auto hash_arr = make_shared < array < uint8_t, 32 >> ();
32 >> ();
uint64_t binLen; uint64_t binLen;
if (!hex2carray(hash.c_str(), &binLen, hash_arr->data())) { if (!hex2carray(hash.c_str(), &binLen, hash_arr->data())) {
throw SGXException(INVALID_HEX, "Invalid hash"); throw SGXException(INVALID_HEX, "Invalid hash");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment