diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2017-05-12 14:56:25 +0200 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2017-05-12 15:43:18 +0200 |
commit | 34ce3d93c52a734a7380114254a14ce8bcc77bb1 (patch) | |
tree | 0d260153b3d9b5db85ee11959467e443c3efc26a /openbsc/src | |
parent | 5121576b0c6c323ae5f92d8d987b8c0899d99db0 (diff) |
fix VTY parsing: subscriber-create-on-demand random
Fix parsing of the 'subscriber-create-on-demand random' VTY: atoi() is not
enough to include the specified range of 1-9999999999.
Use atoll() instead to ensure a large enough number space also on 32bit
systems.
(Note: for me, atoll() truncates at 32 bit when <stdlib.h> is not included.)
Add a VTY regression test for this.
Related: OS#2253
Change-Id: I353e04481ec567adca383d6b51ba8fb865eed73e
Diffstat (limited to 'openbsc/src')
-rw-r--r-- | openbsc/src/libmsc/vty_interface_layer3.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/openbsc/src/libmsc/vty_interface_layer3.c b/openbsc/src/libmsc/vty_interface_layer3.c index f631bccdf..e50329104 100644 --- a/openbsc/src/libmsc/vty_interface_layer3.c +++ b/openbsc/src/libmsc/vty_interface_layer3.c @@ -1079,7 +1079,7 @@ DEFUN(cfg_nitb_subscr_random, cfg_nitb_subscr_random_cmd, "Minimum for subscriber extension\n""Maximum for subscriber extension\n") { struct gsm_network *gsmnet = gsmnet_from_vty(vty); - uint64_t mi = atoi(argv[0]), ma = atoi(argv[1]); + uint64_t mi = atoll(argv[0]), ma = atoll(argv[1]); gsmnet->auto_create_subscr = true; gsmnet->auto_assign_exten = true; if (mi >= ma) { |