X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fopenssl%2Fprf.c;h=df7f445c4940adda32449a944009cb8febda2a85;hb=b99656d84a88dad7935d5981fcdb43a5b2bfa417;hp=59e8a3aa845caf136b43cae43ac011dce649f4f6;hpb=95e1cc36d320b47408ac3ec6f89df54e55a010d4;p=tinc diff --git a/src/openssl/prf.c b/src/openssl/prf.c index 59e8a3aa..df7f445c 100644 --- a/src/openssl/prf.c +++ b/src/openssl/prf.c @@ -71,6 +71,6 @@ bool prf(char *secret, size_t secretlen, char *seed, size_t seedlen, char *out, memset(out, 0, outlen); - return prf_xor(NID_sha512, secret, secretlen / 2, seed, seedlen, out, outlen) - && prf_xor(NID_whirlpool, secret, secretlen / 2, seed, seedlen, out, outlen); + return prf_xor(NID_sha512, secret, (secretlen + 1) / 2, seed, seedlen, out, outlen) + && prf_xor(NID_whirlpool, secret + secretlen / 2, (secretlen + 1) / 2, seed, seedlen, out, outlen); }