summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@soleta.eu>2015-10-15 07:57:29 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-11-02 13:26:26 +0100
commit11cb27ece64944c17c2714cfe7ea9971a8c4ab7c (patch)
tree89c6e300aa4da5eae19f967422a5fb3e27287d3c
parent568a7275503ddae9721280d31e70a8045f645c10 (diff)
mgcp_osmux: available circuit IDs from 0 to 255, not from 0 to 128
Holger reports that the bitmap that accounts for available Osmux circuit IDs is limited to 128, when the maximum number of circuit IDs are determined by the uint8_t field in the header (ie. 256 circuits). [hfreyther: Update the testcase now that we have more ids to allocate]
-rw-r--r--openbsc/src/libmgcp/mgcp_osmux.c2
-rw-r--r--openbsc/tests/mgcp/mgcp_test.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/openbsc/src/libmgcp/mgcp_osmux.c b/openbsc/src/libmgcp/mgcp_osmux.c
index be0db99..b46a80e 100644
--- a/openbsc/src/libmgcp/mgcp_osmux.c
+++ b/openbsc/src/libmgcp/mgcp_osmux.c
@@ -543,7 +543,7 @@ int osmux_send_dummy(struct mgcp_endpoint *endp)
}
/* bsc-nat allocates/releases the Osmux circuit ID */
-static uint8_t osmux_cid_bitmap[16];
+static uint8_t osmux_cid_bitmap[(OSMUX_CID_MAX + 1) / 8];
int osmux_used_cid(void)
{
diff --git a/openbsc/tests/mgcp/mgcp_test.c b/openbsc/tests/mgcp/mgcp_test.c
index ec86c55..6c94002 100644
--- a/openbsc/tests/mgcp/mgcp_test.c
+++ b/openbsc/tests/mgcp/mgcp_test.c
@@ -1186,7 +1186,7 @@ static void test_osmux_cid(void)
osmux_put_cid(id);
OSMO_ASSERT(osmux_used_cid() == 0);
- for (i = 0; i < 128; ++i) {
+ for (i = 0; i < 256; ++i) {
id = osmux_get_cid();
OSMO_ASSERT(id == i);
OSMO_ASSERT(osmux_used_cid() == i + 1);