Fix potential null pointer dereference in ARIA implementation
@@ -542,7 +542,7 @@ int aria_set_encrypt_key(const unsigned char *userKey, const int bits,
uint32_t w0[4], w1[4], w2[4], w3[4];
const uint32_t *ck;
- ARIA_u128 *rk = key->rd_key;
+ ARIA_u128 *rk;
int Nr = (bits + 256) / 32;
if (userKey == NULL || key == NULL) {
@@ -552,6 +552,7 @@ int aria_set_encrypt_key(const unsigned char *userKey, const int bits,
return -2;
}
+ rk = key->rd_key;
key->rounds = Nr;
ck = &Key_RC[(bits - 128) / 64][0];
