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);
*/
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);
}