I have this patch, but am not sure how to test its validity. Looks sane though. We were passing a uint64_t kc as uint8_t* to:
int gprs_cipher_run(uint8_t *out, uint16_t len, enum gprs_ciph_algo algo, uint8_t *kc, uint32_t iv, enum gprs_cipher_direction dir);
so instead of passing kc's address, we would pass the kc *as* address.
See attached patch. Any opinions and/or testers? Why would no-one have noticed this before?
Thanks! ~Neels