From 256d09d1f25e5b519d11b0d28803f2a21419a918 Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Wed, 13 Dec 2017 15:33:25 +0100 Subject: paging: paging_flush_bts: be sure pending_requests is initalized The BSSMAP reset causes the paging requests to be flushed. When this happens right after startup then calling paging_flush_bts() may be called when the list bts->paging.pending_requests is not yet initalized, which causes a segfault. Call paging_init_if_needed() to be sure that the list is inizalized (like the other functions also do) Change-Id: I42ddbfdec6f9d74d858ad13cc38b5b64061d08dc --- src/libbsc/paging.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libbsc/paging.c b/src/libbsc/paging.c index d657bd306..42ecdcf28 100644 --- a/src/libbsc/paging.c +++ b/src/libbsc/paging.c @@ -477,6 +477,8 @@ void paging_flush_bts(struct gsm_bts *bts, struct bsc_msc_data *msc) { struct gsm_paging_request *req, *req2; + paging_init_if_needed(bts); + llist_for_each_entry_safe(req, req2, &bts->paging.pending_requests, entry) { if (msc && req->msc != msc) continue; -- cgit v1.2.3