aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-06-30 23:19:23 +0200
committerHarald Welte <laforge@gnumonks.org>2010-07-02 22:56:55 +0200
commit3e2e159707c48e8eb52549989eee849417264c97 (patch)
treead7b4e180582afba940f45632942160dd82ad374
parentd6f582b3521c3c7dc49759bd3653b2b4cafb5157 (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.
-rw-r--r--openbsc/src/gprs/gprs_llc.c3
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 */