X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fgcrypt%2Fdigest.c;h=e0291689be161378d236b5f2819449a828dab12f;hb=a0fbaf0889fda3788943baec80671ecc870a2925;hp=cfea1f0af82a1acb0f5692e922c35a82c55cc1bd;hpb=d93d4f9dbd09bc5e53a9b5eeb1cc94939fee32bc;p=tinc diff --git a/src/gcrypt/digest.c b/src/gcrypt/digest.c index cfea1f0a..e0291689 100644 --- a/src/gcrypt/digest.c +++ b/src/gcrypt/digest.c @@ -149,7 +149,7 @@ bool digest_create(digest_t *digest, const void *indata, size_t inlen, void *out memcpy(outdata, tmpdata, digest->maclength); } else { - char tmpdata[len]; + char *tmpdata = alloca(len); gcry_md_hash_buffer(digest->algo, tmpdata, indata, inlen); memcpy(outdata, tmpdata, digest->maclength); } @@ -159,7 +159,7 @@ bool digest_create(digest_t *digest, const void *indata, size_t inlen, void *out bool digest_verify(digest_t *digest, const void *indata, size_t inlen, const void *cmpdata) { size_t len = digest->maclength; - uint8_t outdata[len]; + uint8_t *outdata = alloca(len); return digest_create(digest, indata, inlen, outdata) && !memcmp(cmpdata, outdata, len); }