diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-08-04 14:22:13 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-08-04 15:00:54 +0200 |
commit | ce1b22e817584d512f82a711c02b67d12346c202 (patch) | |
tree | 5318c4557958272364f66e954359b6bbb7a36edb /openbsc/src/gprs/gb_proxy_vty.c | |
parent | 4d9fc422d2dd17118d70a2ed25ab383614a81ede (diff) |
gprs: Add testcases for the APN string/octet conversion and fix it
Create a testcase for the gprs_str_to_apn and gprs_apn_to_str
routines. While writing the testcase we noticed it is possible to
write more bytes than should have been allowed. This is fixed by
checking that the max_len is at least 1 (needed to write the first
length octet) and to do the size check before writing to the output.
Modify the signature of gprs_str_to_apn to put the length/size next
to the parameter that requires a size.
Done with Jacob
Diffstat (limited to 'openbsc/src/gprs/gb_proxy_vty.c')
-rw-r--r-- | openbsc/src/gprs/gb_proxy_vty.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/openbsc/src/gprs/gb_proxy_vty.c b/openbsc/src/gprs/gb_proxy_vty.c index 29494c6a8..d40d9b394 100644 --- a/openbsc/src/gprs/gb_proxy_vty.c +++ b/openbsc/src/gprs/gb_proxy_vty.c @@ -230,7 +230,7 @@ static int set_core_apn(struct vty *vty, const char *apn, const char *filter) g_cfg->core_apn = talloc_realloc_size(NULL, g_cfg->core_apn, apn_len + 1); g_cfg->core_apn_size = - gprs_str_to_apn(g_cfg->core_apn, apn, apn_len + 1); + gprs_str_to_apn(g_cfg->core_apn, apn_len + 1, apn); } return CMD_SUCCESS; |