diff options
Diffstat (limited to 'gweb')
-rw-r--r-- | gweb/gweb.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gweb/gweb.c b/gweb/gweb.c index 3379116a..9cf4b02f 100644 --- a/gweb/gweb.c +++ b/gweb/gweb.c @@ -144,13 +144,14 @@ static inline void debug(GWeb *web, const char *format, ...) static void free_session(struct web_session *session) { - GWeb *web = session->web; + GWeb *web; if (session == NULL) return; g_free(session->request); + web = session->web; if (session->resolv_action > 0) g_resolv_cancel_lookup(web->resolv, session->resolv_action); @@ -442,10 +443,14 @@ static inline void call_result_func(struct web_session *session, guint16 status) static gboolean process_send_buffer(struct web_session *session) { - GString *buf = session->send_buffer; + GString *buf; gsize count, bytes_written; GIOStatus status; + if (session == NULL) + return FALSE; + + buf = session->send_buffer; count = buf->len; if (count == 0) { |