[PATCH] gweb: Ignore debug calls in case web is NULL
"Richard Röjfors" <[email protected]> Wed, 8 Apr 2026 12:19:50 +0200
| Newsgroups | dev.linux.lists.connman |
|---|---|
| Message-ID | <[email protected]> |
In case of URL parse error, free_session is called before web is assigned to the session. free_session makes a call to _debug, which did dereffed web and crashed. So simply return from _debug in case web is NULL. --- gweb/gweb.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gweb/gweb.c b/gweb/gweb.c index 0a87da64..b9778ec6 100644 --- a/gweb/gweb.c +++ b/gweb/gweb.c @@ -177,7 +177,7 @@ static void _debug(GWeb *web, const char *file, const char *caller, va_list ap; int len; - if (!web->debug_func) + if (!web || !web->debug_func) return; va_start(ap, format); @@ -458,11 +458,11 @@ static void free_session(struct web_session *session) if (!session) return; - debug(session->web, "session %p", session); + web = session->web; - g_free(session->request); + debug(web, "session %p", session); - web = session->web; + g_free(session->request); if (session->address_action > 0) g_source_remove(session->address_action); -- 2.51.0