osmith has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/33593 )


Change subject: csd_bs_list_remove: fix removal logic
......................................................................

csd_bs_list_remove: fix removal logic

Related: OS#4394
Change-Id: I638d4e063fee6bad45ab14d8ad6b9ad847a7127a
---
M src/libmsc/csd_bs.c
M tests/csd/csd_test.ok
2 files changed, 19 insertions(+), 9 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/93/33593/1

diff --git a/src/libmsc/csd_bs.c b/src/libmsc/csd_bs.c
index 9a7dce1..99f50f4 100644
--- a/src/libmsc/csd_bs.c
+++ b/src/libmsc/csd_bs.c
@@ -347,14 +347,14 @@
        bool found = false;

        for (i = 0; i < list->count; i++) {
-               if (list->bs[i] == bs) {
+               if (list->bs[i] == bs)
                        found = true;
-                       list->count--;
-                       continue;
-               }
-               if (i && found)
-                       list->bs[i-1] = list->bs[i];
+               if (found && i <= list->count)
+                       list->bs[i] = list->bs[i + 1];
        }
+
+       if (found)
+               list->count--;
 }

 void csd_bs_list_intersection(struct csd_bs_list *dest, const struct 
csd_bs_list *other)
diff --git a/tests/csd/csd_test.ok b/tests/csd/csd_test.ok
index 8ba59b3..0beac46 100644
--- a/tests/csd/csd_test.ok
+++ b/tests/csd/csd_test.ok
@@ -4,8 +4,8 @@
 removing BS25T (not in the list):
   BS21T,BS22T,BS24T
 removing BS22T:
-  BS21T,BS22T
+  BS21T,BS24T
 removing BS24T:
-  BS21T,BS22T
-removing BS21T:
   BS21T
+removing BS21T:
+  (no-bearer-services)

--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33593
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I638d4e063fee6bad45ab14d8ad6b9ad847a7127a
Gerrit-Change-Number: 33593
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <[email protected]>
Gerrit-MessageType: newchange

Reply via email to