X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/fae1a71b5a2fd1b2983be523350c3dae4b5e6903..1fcd0d9872f2f90f63ca164e9f0661096db056cf:/sshrsa.c diff --git a/sshrsa.c b/sshrsa.c index 6db265ee..12229e63 100644 --- a/sshrsa.c +++ b/sshrsa.c @@ -863,8 +863,9 @@ static void oaep_mask(const struct ssh_hash *h, void *seed, int seedlen, while (datalen > 0) { int i, max = (datalen > h->hlen ? h->hlen : datalen); void *s; - unsigned char counter[4], hash[h->hlen]; + unsigned char counter[4], hash[SSH2_KEX_MAX_HASH_LEN]; + assert(h->hlen <= SSH2_KEX_MAX_HASH_LEN); PUT_32BIT(counter, count); s = h->init(); h->bytes(s, seed, seedlen); @@ -960,7 +961,7 @@ void ssh_rsakex_encrypt(const struct ssh_hash *h, unsigned char *in, int inlen, */ b1 = bignum_from_bytes(out, outlen); b2 = modpow(b1, rsa->exponent, rsa->modulus); - p = out; + p = (char *)out; for (i = outlen; i--;) { *p++ = bignum_byte(b2, i); }