aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2020-03-09 21:01:56 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2020-03-09 21:02:31 +0100
commitebf55f4b31f14e7118ee3d59dd43fd9dc00d128d (patch)
treeb3600c9f221a812b7a78699f1607f4f2e21a1c8d
parent40b11c9ba414db943105aa7a221d5d905cdfa51a (diff)
fix segfault: unsolicited Paging Response
Do not crash when a Paging Response could not be associated with a VLR subscriber. Related: OS#4449 Change-Id: Ie117949dd6da86afaa1a0a6ac57bf2111f6cff43
-rw-r--r--src/libmsc/paging.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c
index 743ce5c86..b288414d8 100644
--- a/src/libmsc/paging.c
+++ b/src/libmsc/paging.c
@@ -137,6 +137,11 @@ static void paging_concludes(struct vlr_subscr *vsub, struct msc_a *msc_a)
struct paging_request *pr, *pr_next;
struct paging_signal_data sig_data;
+ if (!vsub) {
+ /* A Paging Response has no subscriber. (Related: OS#4449) */
+ return;
+ }
+
osmo_timer_del(&vsub->cs.paging_response_timer);
llist_for_each_entry_safe(pr, pr_next, &vsub->cs.requests, entry) {