From 8065d7eda0ca0c5b969a59032a9cdad2075595e3 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 6 Jul 2022 14:56:42 +0200 Subject: [PATCH] trying to free a pointer --- client/src/crypto/asn1utils.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/client/src/crypto/asn1utils.c b/client/src/crypto/asn1utils.c index 2928a3c40..55aa0d0f9 100644 --- a/client/src/crypto/asn1utils.c +++ b/client/src/crypto/asn1utils.c @@ -37,9 +37,10 @@ int ecdsa_asn1_get_signature(uint8_t *signature, size_t signaturelen, uint8_t *r if (p == NULL) { return PM3_EMALLOC; } - + memcpy(p, signature, signaturelen); - const unsigned char *end = p + signaturelen; + uint8_t *p_tmp = p; + const uint8_t *end = p + signaturelen; int res = PM3_SUCCESS; size_t len = 0; @@ -72,13 +73,15 @@ int ecdsa_asn1_get_signature(uint8_t *signature, size_t signaturelen, uint8_t *r // check size if (end != p) { - free(p); + free(p_tmp); + end = NULL; return PM3_ESOFT; } } exit: -// free(p); + free(p_tmp); + end = NULL; return res; }