diff options
author | Harald Welte <laforge@gnumonks.org> | 2010-06-30 23:19:23 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-07-02 22:56:55 +0200 |
commit | 3e2e159707c48e8eb52549989eee849417264c97 (patch) | |
tree | ad7b4e180582afba940f45632942160dd82ad374 /openbsc/src/gprs/gprs_llc.c | |
parent | d6f582b3521c3c7dc49759bd3653b2b4cafb5157 (diff) |
[SGSN] LLC: only copy Kc if algorithm != GPRS_ALGO_GEA0
The caller currently has set the Kc pointer to NULL, this fix avoids
crashing at the callee.
Diffstat (limited to 'openbsc/src/gprs/gprs_llc.c')
-rw-r--r-- | openbsc/src/gprs/gprs_llc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/openbsc/src/gprs/gprs_llc.c b/openbsc/src/gprs/gprs_llc.c index cd0a64f3a..ff6fe4bc2 100644 --- a/openbsc/src/gprs/gprs_llc.c +++ b/openbsc/src/gprs/gprs_llc.c @@ -776,8 +776,9 @@ int gprs_llgmm_assign(struct gprs_llc_llme *llme, unsigned int i; /* Update the crypto parameters */ - memcpy(llme->kc, kc, sizeof(llme->kc)); llme->algo = alg; + if (alg != GPRS_ALGO_GEA0) + memcpy(llme->kc, kc, sizeof(llme->kc)); if (old_tlli == 0xffffffff && new_tlli != 0xffffffff) { /* TLLI Assignment 8.3.1 */ |