Fix null pointer derefencing in "free_session" and
"process_send_buffer" functions
---
gweb/gweb.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/gweb/gweb.c b/gweb/gweb.c
index 1461346..021eee3 100644
--- a/gweb/gweb.c
+++ b/gweb/gweb.c
@@ -137,13 +137,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);
@@ -435,10 +436,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;
+
+ buf = session->send_buffer;
count = buf->len;
if (count == 0) {
-- 1.7.3.4
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman