mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-09 18:04:25 +09:00
pki_crypto: Use SSH_STRING_FREE()
Fixes T183
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Reviewed-by: Jakub Jelen <jjelen@redhat.com>
(cherry picked from commit d97770b025)
This commit is contained in:
@@ -183,7 +183,7 @@ static ssh_string make_ecpoint_string(const EC_GROUP *g,
|
|||||||
ssh_string_len(s),
|
ssh_string_len(s),
|
||||||
NULL);
|
NULL);
|
||||||
if (len != ssh_string_len(s)) {
|
if (len != ssh_string_len(s)) {
|
||||||
ssh_string_free(s);
|
SSH_STRING_FREE(s);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1203,7 +1203,7 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
rc = ssh_buffer_add_ssh_string(buffer, type_s);
|
rc = ssh_buffer_add_ssh_string(buffer, type_s);
|
||||||
ssh_string_free(type_s);
|
SSH_STRING_FREE(type_s);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
ssh_buffer_free(buffer);
|
ssh_buffer_free(buffer);
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -1248,16 +1248,16 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ssh_string_burn(p);
|
ssh_string_burn(p);
|
||||||
ssh_string_free(p);
|
SSH_STRING_FREE(p);
|
||||||
p = NULL;
|
p = NULL;
|
||||||
ssh_string_burn(g);
|
ssh_string_burn(g);
|
||||||
ssh_string_free(g);
|
SSH_STRING_FREE(g);
|
||||||
g = NULL;
|
g = NULL;
|
||||||
ssh_string_burn(q);
|
ssh_string_burn(q);
|
||||||
ssh_string_free(q);
|
SSH_STRING_FREE(q);
|
||||||
q = NULL;
|
q = NULL;
|
||||||
ssh_string_burn(n);
|
ssh_string_burn(n);
|
||||||
ssh_string_free(n);
|
SSH_STRING_FREE(n);
|
||||||
n = NULL;
|
n = NULL;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -1284,10 +1284,10 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ssh_string_burn(e);
|
ssh_string_burn(e);
|
||||||
ssh_string_free(e);
|
SSH_STRING_FREE(e);
|
||||||
e = NULL;
|
e = NULL;
|
||||||
ssh_string_burn(n);
|
ssh_string_burn(n);
|
||||||
ssh_string_free(n);
|
SSH_STRING_FREE(n);
|
||||||
n = NULL;
|
n = NULL;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -1309,7 +1309,7 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
rc = ssh_buffer_add_ssh_string(buffer, type_s);
|
rc = ssh_buffer_add_ssh_string(buffer, type_s);
|
||||||
ssh_string_free(type_s);
|
SSH_STRING_FREE(type_s);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
ssh_buffer_free(buffer);
|
ssh_buffer_free(buffer);
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -1328,7 +1328,7 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ssh_string_burn(e);
|
ssh_string_burn(e);
|
||||||
ssh_string_free(e);
|
SSH_STRING_FREE(e);
|
||||||
e = NULL;
|
e = NULL;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -1354,17 +1354,17 @@ makestring:
|
|||||||
fail:
|
fail:
|
||||||
ssh_buffer_free(buffer);
|
ssh_buffer_free(buffer);
|
||||||
ssh_string_burn(str);
|
ssh_string_burn(str);
|
||||||
ssh_string_free(str);
|
SSH_STRING_FREE(str);
|
||||||
ssh_string_burn(e);
|
ssh_string_burn(e);
|
||||||
ssh_string_free(e);
|
SSH_STRING_FREE(e);
|
||||||
ssh_string_burn(p);
|
ssh_string_burn(p);
|
||||||
ssh_string_free(p);
|
SSH_STRING_FREE(p);
|
||||||
ssh_string_burn(g);
|
ssh_string_burn(g);
|
||||||
ssh_string_free(g);
|
SSH_STRING_FREE(g);
|
||||||
ssh_string_burn(q);
|
ssh_string_burn(q);
|
||||||
ssh_string_free(q);
|
SSH_STRING_FREE(q);
|
||||||
ssh_string_burn(n);
|
ssh_string_burn(n);
|
||||||
ssh_string_free(n);
|
SSH_STRING_FREE(n);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -1431,8 +1431,8 @@ static ssh_string pki_dsa_signature_to_blob(const ssh_signature sig)
|
|||||||
s_len - s_offset_in);
|
s_len - s_offset_in);
|
||||||
|
|
||||||
DSA_SIG_free(dsa_sig);
|
DSA_SIG_free(dsa_sig);
|
||||||
ssh_string_free(r);
|
SSH_STRING_FREE(r);
|
||||||
ssh_string_free(s);
|
SSH_STRING_FREE(s);
|
||||||
|
|
||||||
sig_blob = ssh_string_new(40);
|
sig_blob = ssh_string_new(40);
|
||||||
if (sig_blob == NULL) {
|
if (sig_blob == NULL) {
|
||||||
@@ -1445,8 +1445,8 @@ static ssh_string pki_dsa_signature_to_blob(const ssh_signature sig)
|
|||||||
|
|
||||||
error:
|
error:
|
||||||
DSA_SIG_free(dsa_sig);
|
DSA_SIG_free(dsa_sig);
|
||||||
ssh_string_free(r);
|
SSH_STRING_FREE(r);
|
||||||
ssh_string_free(s);
|
SSH_STRING_FREE(s);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1518,16 +1518,16 @@ static ssh_string pki_ecdsa_signature_to_blob(const ssh_signature sig)
|
|||||||
|
|
||||||
ssh_string_fill(sig_blob, ssh_buffer_get(buf), ssh_buffer_get_len(buf));
|
ssh_string_fill(sig_blob, ssh_buffer_get(buf), ssh_buffer_get_len(buf));
|
||||||
|
|
||||||
ssh_string_free(r);
|
SSH_STRING_FREE(r);
|
||||||
ssh_string_free(s);
|
SSH_STRING_FREE(s);
|
||||||
ECDSA_SIG_free(ecdsa_sig);
|
ECDSA_SIG_free(ecdsa_sig);
|
||||||
ssh_buffer_free(buf);
|
ssh_buffer_free(buf);
|
||||||
|
|
||||||
return sig_blob;
|
return sig_blob;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
ssh_string_free(r);
|
SSH_STRING_FREE(r);
|
||||||
ssh_string_free(s);
|
SSH_STRING_FREE(s);
|
||||||
ECDSA_SIG_free(ecdsa_sig);
|
ECDSA_SIG_free(ecdsa_sig);
|
||||||
ssh_buffer_free(buf);
|
ssh_buffer_free(buf);
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -1672,7 +1672,7 @@ static int pki_signature_from_dsa_blob(UNUSED_PARAM(const ssh_key pubkey),
|
|||||||
|
|
||||||
pr = ssh_make_string_bn(r);
|
pr = ssh_make_string_bn(r);
|
||||||
ssh_string_burn(r);
|
ssh_string_burn(r);
|
||||||
ssh_string_free(r);
|
SSH_STRING_FREE(r);
|
||||||
if (pr == NULL) {
|
if (pr == NULL) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@@ -1685,7 +1685,7 @@ static int pki_signature_from_dsa_blob(UNUSED_PARAM(const ssh_key pubkey),
|
|||||||
|
|
||||||
ps = ssh_make_string_bn(s);
|
ps = ssh_make_string_bn(s);
|
||||||
ssh_string_burn(s);
|
ssh_string_burn(s);
|
||||||
ssh_string_free(s);
|
SSH_STRING_FREE(s);
|
||||||
if (ps == NULL) {
|
if (ps == NULL) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@@ -1777,7 +1777,7 @@ static int pki_signature_from_ecdsa_blob(UNUSED_PARAM(const ssh_key pubkey),
|
|||||||
|
|
||||||
pr = ssh_make_string_bn(r);
|
pr = ssh_make_string_bn(r);
|
||||||
ssh_string_burn(r);
|
ssh_string_burn(r);
|
||||||
ssh_string_free(r);
|
SSH_STRING_FREE(r);
|
||||||
if (pr == NULL) {
|
if (pr == NULL) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@@ -1791,7 +1791,7 @@ static int pki_signature_from_ecdsa_blob(UNUSED_PARAM(const ssh_key pubkey),
|
|||||||
|
|
||||||
if (rlen != 0) {
|
if (rlen != 0) {
|
||||||
ssh_string_burn(s);
|
ssh_string_burn(s);
|
||||||
ssh_string_free(s);
|
SSH_STRING_FREE(s);
|
||||||
SSH_LOG(SSH_LOG_WARN,
|
SSH_LOG(SSH_LOG_WARN,
|
||||||
"Signature has remaining bytes in inner "
|
"Signature has remaining bytes in inner "
|
||||||
"sigblob: %lu",
|
"sigblob: %lu",
|
||||||
@@ -1805,7 +1805,7 @@ static int pki_signature_from_ecdsa_blob(UNUSED_PARAM(const ssh_key pubkey),
|
|||||||
|
|
||||||
ps = ssh_make_string_bn(s);
|
ps = ssh_make_string_bn(s);
|
||||||
ssh_string_burn(s);
|
ssh_string_burn(s);
|
||||||
ssh_string_free(s);
|
SSH_STRING_FREE(s);
|
||||||
if (ps == NULL) {
|
if (ps == NULL) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user