diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-12-12 15:28:43 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-12-12 16:20:07 +0100 |
commit | a5ddf489e1b085e573e4dbcb24e40a02cba413f7 (patch) | |
tree | 19ed8f4c09980aa3574b30985bbb890b76a761d4 /openbsc | |
parent | 7672db33bd796d849419e8fcb170b4cfb3e41759 (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.c | 3 |
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; } |