aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-12-12 15:28:43 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-12-12 16:20:07 +0100
commita5ddf489e1b085e573e4dbcb24e40a02cba413f7 (patch)
tree19ed8f4c09980aa3574b30985bbb890b76a761d4 /openbsc
parent7672db33bd796d849419e8fcb170b4cfb3e41759 (diff)
subscriber: Address coverity warning and truncate the IMSI
The IMSI can only be 15 characters in length, our define gives us a length of 17. This means we have place for two NULs. Use strncpy and make sure it is null-terminated. Fixes: Coverity CID 1040707
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/src/libbsc/gsm_subscriber_base.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/openbsc/src/libbsc/gsm_subscriber_base.c b/openbsc/src/libbsc/gsm_subscriber_base.c
index 747a699f9..5755687a1 100644
--- a/openbsc/src/libbsc/gsm_subscriber_base.c
+++ b/openbsc/src/libbsc/gsm_subscriber_base.c
@@ -104,7 +104,8 @@ struct gsm_subscriber *subscr_get_or_create(struct gsm_network *net,
if (!subscr)
return NULL;
- strcpy(subscr->imsi, imsi);
+ strncpy(subscr->imsi, imsi, GSM_IMSI_LENGTH);
+ subscr->imsi[GSM_IMSI_LENGTH - 1] = '\0';
subscr->net = net;
return subscr;
}