This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/24642 ) Change subject: ggsn: Fix heap-use-after-free during Recovery without associated PDP ...................................................................... ggsn: Fix heap-use-after-free during Recovery without associated PDP Related: OS#4641 Change-Id: Ib4dca2e30e723a196084b0fa0040fbceca835359 --- M ggsn/sgsn.c 1 file changed, 10 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ggsn/sgsn.c b/ggsn/sgsn.c index 8360439..15548ef 100644 --- a/ggsn/sgsn.c +++ b/ggsn/sgsn.c @@ -116,6 +116,7 @@ { unsigned int num = 0; char buf[INET_ADDRSTRLEN]; + unsigned int count = llist_count(&sgsn->pdp_list); inet_ntop(AF_INET, &sgsn->addr, buf, sizeof(buf)); @@ -125,10 +126,17 @@ continue; ggsn_close_one_pdp(pdp->lib); num++; + if (num == count) { + /* Note: if except is NULL, all pdp contexts are freed and sgsn + * is most probably already freed at this point. + * As a result, last access to sgsn->pdp_list before exiting + * loop would access already freed memory. Avoid it by exiting + * the loop without the last check, and make sure sgsn is not + * accessed after this loop. */ + break; + } } - /* Note: if except is NULL, all pdp contexts are freed and sgsn is - already freed at this point */ LOGP(DGGSN, LOGL_INFO, "SGSN(%s) Dropped %u PDP contexts\n", buf, num); return num; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/24642 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib4dca2e30e723a196084b0fa0040fbceca835359 Gerrit-Change-Number: 24642 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210611/18dcb725/attachment.htm>