X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=ssharcf.c;h=d16ce22540b85a8f937c7f03cb3b06bddee8e612;hb=1b2cc402448da230af90ade6331f4712f73df6b0;hp=2381d8870251a422dff31e9a29e246f71850b278;hpb=bcf547a069e2436abbea62e1f0d658178394a68b;p=PuTTY.git diff --git a/ssharcf.c b/ssharcf.c index 2381d887..d16ce225 100644 --- a/ssharcf.c +++ b/ssharcf.c @@ -19,7 +19,7 @@ static void arcfour_block(void *handle, unsigned char *blk, int len) s = ctx->s; i = ctx->i; j = ctx->j; - for (k = 0; k < len; k++) { + for (k = 0; (int)k < len; k++) { i = (i + 1) & 0xff; j = (j + s[i]) & 0xff; tmp = s[i]; s[i] = s[j]; s[j] = tmp; @@ -75,7 +75,7 @@ static void arcfour_stir(ArcfourContext *ctx) unsigned char *junk = snewn(1536, unsigned char); memset(junk, 0, 1536); arcfour_block(ctx, junk, 1536); - memset(junk, 0, 1536); + smemclr(junk, 1536); sfree(junk); } @@ -100,16 +100,18 @@ static void arcfour_iv(void *handle, unsigned char *key) const struct ssh2_cipher ssh_arcfour128_ssh2 = { arcfour_make_context, arcfour_free_context, arcfour_iv, arcfour128_key, - arcfour_block, arcfour_block, + arcfour_block, arcfour_block, NULL, NULL, "arcfour128", - 1, 128, 0, "Arcfour-128" + 1, 128, 16, 0, "Arcfour-128", + NULL }; const struct ssh2_cipher ssh_arcfour256_ssh2 = { arcfour_make_context, arcfour_free_context, arcfour_iv, arcfour256_key, - arcfour_block, arcfour_block, + arcfour_block, arcfour_block, NULL, NULL, "arcfour256", - 1, 256, 0, "Arcfour-256" + 1, 256, 32, 0, "Arcfour-256", + NULL }; static const struct ssh2_cipher *const arcfour_list[] = {