aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-01-13 03:36:57 +0100
committerHarald Welte <laforge@gnumonks.org>2017-01-15 18:10:47 +0000
commit04db87a89fca233008be1f4263cfa37af3f245a6 (patch)
treebb0df06eb77d602c8d2ddb5440ff5e82a6c7fe22
parent3d07aef8006e3953edfee6f4e74b810ee3dc16f4 (diff)
gprs subscr: fix: intended strcmp(), but is strcpy()
The code checked 'if (strcpy(..) != 0)' which is always true and thus always copied twice -- luckily we want to copy anyway and so this is not an actual functional failure. We could correct to strcmp, but instead of iterating to compare, we might as well copy right away. Change-Id: I0ea035bd478f7022ed65e9e84d8aaf5e423309b7
-rw-r--r--openbsc/src/gprs/gprs_subscriber.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/openbsc/src/gprs/gprs_subscriber.c b/openbsc/src/gprs/gprs_subscriber.c
index 23dbdd480..29e21ced4 100644
--- a/openbsc/src/gprs/gprs_subscriber.c
+++ b/openbsc/src/gprs/gprs_subscriber.c
@@ -778,11 +778,9 @@ struct gsm_subscriber *gprs_subscr_get_or_create_by_mmctx(struct sgsn_mm_ctx *mm
subscr->flags &= ~GPRS_SUBSCRIBER_ENABLE_PURGE;
}
- if (strcpy(subscr->equipment.imei, mmctx->imei) != 0) {
- strncpy(subscr->equipment.imei, mmctx->imei,
- sizeof(subscr->equipment.imei)-1);
- subscr->equipment.imei[sizeof(subscr->equipment.imei)-1] = 0;
- }
+ strncpy(subscr->equipment.imei, mmctx->imei,
+ sizeof(subscr->equipment.imei)-1);
+ subscr->equipment.imei[sizeof(subscr->equipment.imei)-1] = 0;
if (subscr->lac != mmctx->ra.lac)
subscr->lac = mmctx->ra.lac;