X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Farcfour.c;h=97b61160e18b38434ae6d0f7f938284064b60c1f;hb=fb84631f1ec8e82d252cbad0b5b7f83a98e74ba9;hp=61b851127c9d6aa7382d338c4edf8cfabb163762;hpb=13083d5caa5989dab4238adce19a2fa55efc4201;p=gnulib.git diff --git a/lib/arcfour.c b/lib/arcfour.c index 61b851127..97b61160e 100644 --- a/lib/arcfour.c +++ b/lib/arcfour.c @@ -36,16 +36,16 @@ void arcfour_stream (arcfour_context * context, const char *inbuf, char *outbuf, size_t length) { - size_t i = context->idx_i; - size_t j = context->idx_j; + uint8_t i = context->idx_i; + uint8_t j = context->idx_j; char *sbox = context->sbox; for (; length > 0; length--) { char t; - i = (i + 1) % ARCFOUR_SBOX_SIZE; - j = (j + sbox[i]) % ARCFOUR_SBOX_SIZE; + i++; + j += sbox[i]; t = sbox[i]; sbox[i] = sbox[j]; sbox[j] = t;