aboutsummaryrefslogtreecommitdiff
path: root/src/pki_gcrypt.c
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2019-10-28 12:00:07 +0100
committerAndreas Schneider <asn@cryptomilk.org>2019-12-09 16:08:03 +0100
commit032f25aab31549284d1d96e7fbda24d320af3063 (patch)
treed21be45858d8476f66fa85abbb7073e31397b010 /src/pki_gcrypt.c
parentda81b99df1d9c6efe758dd04b1bf86b3edcf97bb (diff)
downloadlibssh-032f25aab31549284d1d96e7fbda24d320af3063.tar.gz
libssh-032f25aab31549284d1d96e7fbda24d320af3063.tar.xz
libssh-032f25aab31549284d1d96e7fbda24d320af3063.zip
SSH-01-007: Fix possible double free of ssh strings
Fixes T183 Signed-off-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Jakub Jelen <jjelen@redhat.com>
Diffstat (limited to 'src/pki_gcrypt.c')
-rw-r--r--src/pki_gcrypt.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/pki_gcrypt.c b/src/pki_gcrypt.c
index 6e00194a..276d2eb8 100644
--- a/src/pki_gcrypt.c
+++ b/src/pki_gcrypt.c
@@ -1573,7 +1573,7 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
}
rc = ssh_buffer_add_ssh_string(buffer, type_s);
- ssh_string_free(type_s);
+ SSH_STRING_FREE(type_s);
if (rc < 0) {
ssh_buffer_free(buffer);
return NULL;
@@ -1631,13 +1631,13 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
}
ssh_string_burn(p);
- ssh_string_free(p);
+ SSH_STRING_FREE(p);
ssh_string_burn(g);
- ssh_string_free(g);
+ SSH_STRING_FREE(g);
ssh_string_burn(q);
- ssh_string_free(q);
+ SSH_STRING_FREE(q);
ssh_string_burn(n);
- ssh_string_free(n);
+ SSH_STRING_FREE(n);
break;
case SSH_KEYTYPE_RSA:
@@ -1667,9 +1667,9 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
}
ssh_string_burn(e);
- ssh_string_free(e);
+ SSH_STRING_FREE(e);
ssh_string_burn(n);
- ssh_string_free(n);
+ SSH_STRING_FREE(n);
break;
case SSH_KEYTYPE_ED25519:
@@ -1690,7 +1690,7 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
}
rc = ssh_buffer_add_ssh_string(buffer, type_s);
- ssh_string_free(type_s);
+ SSH_STRING_FREE(type_s);
if (rc < 0) {
ssh_buffer_free(buffer);
return NULL;
@@ -1709,7 +1709,7 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
}
ssh_string_burn(e);
- ssh_string_free(e);
+ SSH_STRING_FREE(e);
e = NULL;
break;
#endif
@@ -1735,17 +1735,17 @@ makestring:
fail:
ssh_buffer_free(buffer);
ssh_string_burn(str);
- ssh_string_free(str);
+ SSH_STRING_FREE(str);
ssh_string_burn(e);
- ssh_string_free(e);
+ SSH_STRING_FREE(e);
ssh_string_burn(p);
- ssh_string_free(p);
+ SSH_STRING_FREE(p);
ssh_string_burn(g);
- ssh_string_free(g);
+ SSH_STRING_FREE(g);
ssh_string_burn(q);
- ssh_string_free(q);
+ SSH_STRING_FREE(q);
ssh_string_burn(n);
- ssh_string_free(n);
+ SSH_STRING_FREE(n);
return NULL;
}