X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gweb%2Fgweb.c;h=7037cd9438e04e21f422741b059adcf8951b9adb;hb=30602f521a85820a9f6b7ac04876400e00c68b15;hp=307164e99160682e06e29f9f46576baae1be3a60;hpb=a079cfe6f815f8c69055de834d1ccbdf1fd94ba7;p=platform%2Fupstream%2Fconnman.git diff --git a/gweb/gweb.c b/gweb/gweb.c index 307164e..7037cd9 100755 --- a/gweb/gweb.c +++ b/gweb/gweb.c @@ -792,6 +792,9 @@ static void handle_multi_line(struct web_session *session) char *str; gchar *value; + if (!session->result.last_key) + return; + str = session->current_header->str; if (str[0] != ' ' && str[0] != '\t') @@ -1079,7 +1082,6 @@ static int connect_session_transport(struct web_session *session) session->addr->ai_addrlen) < 0) { if (errno != EINPROGRESS) { debug(session->web, "connect() %s", strerror(errno)); - close(sk); return -EIO; } } @@ -1360,8 +1362,7 @@ static guint do_request(GWeb *web, const char *url, g_free(session->address); session->address = g_strdup(host); } - session->address_action = g_timeout_add(0, already_resolved, - session); + session->address_action = g_idle_add(already_resolved, session); } else { session->resolv_action = g_resolv_lookup_hostname(web->resolv, host, resolv_result, session); @@ -1480,6 +1481,9 @@ GWebParser *g_web_parser_new(const char *begin, const char *end, { GWebParser *parser; + if (!begin || !end) + return NULL; + parser = g_try_new0(GWebParser, 1); if (!parser) return NULL; @@ -1488,12 +1492,6 @@ GWebParser *g_web_parser_new(const char *begin, const char *end, parser->begin_token = g_strdup(begin); parser->end_token = g_strdup(end); - - if (!parser->begin_token) { - g_free(parser); - return NULL; - } - parser->func = func; parser->user_data = user_data;