Fix RC4 bug

This commit is contained in:
Zhi Guan
2022-10-12 15:26:40 +08:00
parent d17c7d33d5
commit 68e4207b25

View File

@@ -17,14 +17,18 @@ void rc4_init(RC4_STATE *state, const uint8_t *key, size_t keylen)
{
int i, j;
uint8_t *s = state->d;
uint8_t k[256];
uint8_t k[256] = {0};
uint8_t temp;
if (keylen > sizeof(k)) {
keylen = sizeof(k);
}
/* expand key */
for (i = 0; i < keylen; i++) {
for (i = 0; i < (int)keylen; i++) {
k[i] = key[i];
}
for (i = keylen; i < 256; i++) {
for (; i < 256; i++) {
k[i] = key[i % keylen];
}