[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r27685 - libmicrohttpd/src/microspdy
From: |
gnunet |
Subject: |
[GNUnet-SVN] r27685 - libmicrohttpd/src/microspdy |
Date: |
Sat, 29 Jun 2013 00:30:10 +0200 |
Author: andreyu
Date: 2013-06-29 00:30:10 +0200 (Sat, 29 Jun 2013)
New Revision: 27685
Modified:
libmicrohttpd/src/microspdy/applicationlayer.c
libmicrohttpd/src/microspdy/daemon.c
libmicrohttpd/src/microspdy/session.c
libmicrohttpd/src/microspdy/structures.c
Log:
spdy: minor leaks, dead code, etc. fixed
Modified: libmicrohttpd/src/microspdy/applicationlayer.c
===================================================================
--- libmicrohttpd/src/microspdy/applicationlayer.c 2013-06-28 17:32:43 UTC
(rev 27684)
+++ libmicrohttpd/src/microspdy/applicationlayer.c 2013-06-28 22:30:10 UTC
(rev 27685)
@@ -124,17 +124,20 @@
else
for(i=0; i<iterator->num_values; ++i)
if (SPDY_YES !=
SPDY_name_value_add(headers,iterator->name,iterator->value[i]))
+ {
+ SPDY_destroy_request(request);
goto free_and_fail;
+ }
iterator = iterator->next;
}
request->method=method;
- request->path=path;
- request->version=version;
- request->host=host;
- request->scheme=scheme;
- request->headers=headers;
+ request->path=path;
+ request->version=version;
+ request->host=host;
+ request->scheme=scheme;
+ request->headers=headers;
//check request validity, all these fields are mandatory for a request
if(NULL == method || strlen(method) == 0
@@ -366,7 +369,7 @@
size_t size)
{
struct SPDY_Response *response = NULL;
- struct SPDY_NameValue ** all_headers = NULL;
+ struct SPDY_NameValue ** all_headers = NULL; //TODO maybe array in
stack is enough
char *fullstatus = NULL;
int ret;
int num_hdr_containers = 1;
@@ -417,6 +420,7 @@
SPDY_name_value_destroy(all_headers[0]);
free(all_headers);
+ all_headers = NULL;
if(size > 0)
{
Modified: libmicrohttpd/src/microspdy/daemon.c
===================================================================
--- libmicrohttpd/src/microspdy/daemon.c 2013-06-28 17:32:43 UTC (rev
27684)
+++ libmicrohttpd/src/microspdy/daemon.c 2013-06-28 22:30:10 UTC (rev
27685)
@@ -231,9 +231,7 @@
}
if(NULL == daemon->address)
- {
- addrlen = sizeof (struct sockaddr_in6);
-
+ {
if (NULL == (servaddr6 = malloc (addrlen)))
{
SPDYF_DEBUG("malloc");
@@ -246,7 +244,16 @@
daemon->address = (struct sockaddr *) servaddr6;
}
- afamily = AF_INET6 == daemon->address->sa_family ? PF_INET6 : PF_INET;
+ if(AF_INET6 == daemon->address->sa_family)
+ {
+ afamily = PF_INET6;
+ addrlen = sizeof (struct sockaddr_in6);
+ }
+ else
+ {
+ afamily = PF_INET;
+ addrlen = sizeof (struct sockaddr_in);
+ }
#else
//handling IPv4
if(daemon->flags & SPDY_DAEMON_FLAG_ONLY_IPV6)
@@ -255,10 +262,10 @@
goto free_and_fail;
}
+ addrlen = sizeof (struct sockaddr_in);
+
if(NULL == daemon->address)
- {
- addrlen = sizeof (struct sockaddr_in);
-
+ {
if (NULL == (servaddr4 = malloc (addrlen)))
{
SPDYF_DEBUG("malloc");
Modified: libmicrohttpd/src/microspdy/session.c
===================================================================
--- libmicrohttpd/src/microspdy/session.c 2013-06-28 17:32:43 UTC (rev
27684)
+++ libmicrohttpd/src/microspdy/session.c 2013-06-28 22:30:10 UTC (rev
27685)
@@ -136,29 +136,32 @@
return;
}
}
-
- ret = SPDYF_name_value_from_stream(name_value_strm,
name_value_strm_size, &headers);
- if(SPDY_NO == ret)
- {
- //memory error, try later
- free(name_value_strm);
- return;
- }
+ else
+ {
+ ret = SPDYF_name_value_from_stream(name_value_strm, name_value_strm_size,
&headers);
+ if(SPDY_NO == ret)
+ {
+ //memory error, try later
+ free(name_value_strm);
+ return;
+ }
- session->streams_head->headers = headers;
- //inform the application layer for the new stream received
- if(SPDY_YES != session->daemon->fnew_stream_cb(session->daemon->fcls,
session->streams_head))
- {
- //memory error, try later
- free(name_value_strm);
- return;
- }
-
- session->read_buffer_beginning += compressed_data_size;
+ session->streams_head->headers = headers;
+ //inform the application layer for the new stream received
+ if(SPDY_YES != session->daemon->fnew_stream_cb(session->daemon->fcls,
session->streams_head))
+ {
+ //memory error, try later
+ free(name_value_strm);
+ return;
+ }
+
+ session->read_buffer_beginning += compressed_data_size;
+ free(name_value_strm);
+ }
+
//change state to wait for new frame
session->status = SPDY_SESSION_STATUS_WAIT_FOR_HEADER;
free(frame);
- free(name_value_strm);
}
Modified: libmicrohttpd/src/microspdy/structures.c
===================================================================
--- libmicrohttpd/src/microspdy/structures.c 2013-06-28 17:32:43 UTC (rev
27684)
+++ libmicrohttpd/src/microspdy/structures.c 2013-06-28 22:30:10 UTC (rev
27685)
@@ -455,25 +455,25 @@
for(j=0; j<num_containers; ++j)
{
- iterator = container[j];
- while(iterator != NULL)
- {
- ++num_pairs;
- size += 4 + strlen(iterator->name); //length + string
-
- SPDYF_ASSERT(iterator->num_values>0, "num_values is 0");
-
- size += 4; //value length
-
- for(i=0; i<iterator->num_values; ++i)
- {
- size += strlen(iterator->value[i]); // string
- if(i/* || !strlen(iterator->value[i])*/) ++size; //NULL
separator
- }
-
- iterator = iterator->next;
- }
-}
+ iterator = container[j];
+ while(iterator != NULL)
+ {
+ ++num_pairs;
+ size += 4 + strlen(iterator->name); //length + string
+
+ SPDYF_ASSERT(iterator->num_values>0, "num_values is 0");
+
+ size += 4; //value length
+
+ for(i=0; i<iterator->num_values; ++i)
+ {
+ size += strlen(iterator->value[i]); // string
+ if(i/* || !strlen(iterator->value[i])*/) ++size; //NULL separator
+ }
+
+ iterator = iterator->next;
+ }
+ }
if(NULL == (*stream = malloc(size)))
{
@@ -488,36 +488,36 @@
//put all other headers to the stream
for(j=0; j<num_containers; ++j)
{
- iterator = container[j];
- while(iterator != NULL)
- {
- name_size = strlen(iterator->name);
- temp = htonl(name_size);
- memcpy(*stream + offset, &temp, 4);
- offset += 4;
- strncpy(*stream + offset, iterator->name, name_size);
- offset += name_size;
-
- value_offset = offset;
- offset += 4;
- for(i=0; i<iterator->num_values; ++i)
- {
- if(i /*|| !strlen(iterator->value[0])*/)
- {
- memset(*stream + offset, 0, 1);
- ++offset;
- if(!i) continue;
- }
- strncpy(*stream + offset, iterator->value[i],
strlen(iterator->value[i]));
- offset += strlen(iterator->value[i]);
- }
- value_size = offset - value_offset - 4;
- value_size = htonl(value_size);
- memcpy(*stream + value_offset, &value_size, 4);
-
- iterator = iterator->next;
- }
-}
+ iterator = container[j];
+ while(iterator != NULL)
+ {
+ name_size = strlen(iterator->name);
+ temp = htonl(name_size);
+ memcpy(*stream + offset, &temp, 4);
+ offset += 4;
+ strncpy(*stream + offset, iterator->name, name_size);
+ offset += name_size;
+
+ value_offset = offset;
+ offset += 4;
+ for(i=0; i<iterator->num_values; ++i)
+ {
+ if(i /*|| !strlen(iterator->value[0])*/)
+ {
+ memset(*stream + offset, 0, 1);
+ ++offset;
+ //if(!i) continue;
+ }
+ strncpy(*stream + offset, iterator->value[i],
strlen(iterator->value[i]));
+ offset += strlen(iterator->value[i]);
+ }
+ value_size = offset - value_offset - 4;
+ value_size = htonl(value_size);
+ memcpy(*stream + value_offset, &value_size, 4);
+
+ iterator = iterator->next;
+ }
+ }
SPDYF_ASSERT(offset == size,"offset is wrong");
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r27685 - libmicrohttpd/src/microspdy,
gnunet <=