X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fed25519%2Fecdsa.c;h=1ba01cfac86d68dd8146024a3da1214684bd2d23;hb=d93d4f9dbd09bc5e53a9b5eeb1cc94939fee32bc;hp=28daf4a1672132a373913d6c0a7b155709007948;hpb=3d787920d51a35e74e442c7265be3b13b69ad8e4;p=tinc diff --git a/src/ed25519/ecdsa.c b/src/ed25519/ecdsa.c index 28daf4a1..1ba01cfa 100644 --- a/src/ed25519/ecdsa.c +++ b/src/ed25519/ecdsa.c @@ -32,6 +32,11 @@ typedef struct { #include "../utils.h" #include "../xalloc.h" +static ecdsa_t *ecdsa_new(void) ATTR_MALLOC ATTR_DEALLOCATOR(ecdsa_free); +static ecdsa_t *ecdsa_new(void) { + return xzalloc(sizeof(ecdsa_t)); +} + // Get and set ECDSA keys // ecdsa_t *ecdsa_set_base64_public_key(const char *p) { @@ -42,7 +47,7 @@ ecdsa_t *ecdsa_set_base64_public_key(const char *p) { return 0; } - ecdsa_t *ecdsa = xzalloc(sizeof(*ecdsa)); + ecdsa_t *ecdsa = ecdsa_new(); len = b64decode_tinc(p, ecdsa->public, len); if(len != 32) { @@ -123,7 +128,7 @@ exit: } ecdsa_t *ecdsa_read_pem_public_key(FILE *fp) { - ecdsa_t *ecdsa = xzalloc(sizeof(*ecdsa)); + ecdsa_t *ecdsa = ecdsa_new(); if(read_pem(fp, "ED25519 PUBLIC KEY", ecdsa->public, sizeof(ecdsa->public))) { return ecdsa; @@ -134,7 +139,7 @@ ecdsa_t *ecdsa_read_pem_public_key(FILE *fp) { } ecdsa_t *ecdsa_read_pem_private_key(FILE *fp) { - ecdsa_t *ecdsa = xmalloc(sizeof(*ecdsa)); + ecdsa_t *ecdsa = ecdsa_new(); if(read_pem(fp, "ED25519 PRIVATE KEY", ecdsa->private, sizeof(*ecdsa))) { return ecdsa;