gnunet-svn
[Top][All Lists]
Advanced

[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");
        




reply via email to

[Prev in Thread] Current Thread [Next in Thread]