Cosmetic and very minor fix of markup.
[privoxy.git] / urlmatch.c
index 7586fc1..0338131 100644 (file)
@@ -1,4 +1,4 @@
-const char urlmatch_rcs[] = "$Id: urlmatch.c,v 1.10.2.2 2002/09/25 14:53:15 oes Exp $";
+const char urlmatch_rcs[] = "$Id: urlmatch.c,v 1.10.2.4 2003/02/28 12:57:44 oes Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/Attic/urlmatch.c,v $
@@ -33,6 +33,13 @@ const char urlmatch_rcs[] = "$Id: urlmatch.c,v 1.10.2.2 2002/09/25 14:53:15 oes
  *
  * Revisions   :
  *    $Log: urlmatch.c,v $
+ *    Revision 1.10.2.4  2003/02/28 12:57:44  oes
+ *    Moved freeing of http request structure to its owner
+ *    as per Dan Price's observations in Bug #694713
+ *
+ *    Revision 1.10.2.3  2002/11/12 16:50:40  oes
+ *    Fixed memory leak in parse_http_request() reported by Oliver Stoeneberg. Fixes bug #637073
+ *
  *    Revision 1.10.2.2  2002/09/25 14:53:15  oes
  *    Added basic support for OPTIONS and TRACE HTTP methods:
  *    parse_http_url now recognizes the "*" URI as well as
@@ -254,13 +261,11 @@ jb_err parse_http_url(const char * url,
          http->hostport = strdup(url_noproto);
       }
 
-      free(buf);
+      freez(buf);
 
       if ( (http->path == NULL)
         || (http->hostport == NULL))
       {
-         free(buf);
-         free_http_request(http);
          return JB_ERR_MEMORY;
       }
    }
@@ -277,7 +282,6 @@ jb_err parse_http_url(const char * url,
       buf = strdup(http->hostport);
       if (buf == NULL)
       {
-         free_http_request(http);
          return JB_ERR_MEMORY;
       }
 
@@ -315,7 +319,6 @@ jb_err parse_http_url(const char * url,
 
       if (http->host == NULL)
       {
-         free_http_request(http);
          return JB_ERR_MEMORY;
       }
    }
@@ -332,7 +335,6 @@ jb_err parse_http_url(const char * url,
       http->dbuffer = strdup(http->host);
       if (NULL == http->dbuffer)
       {
-         free_http_request(http);
          return JB_ERR_MEMORY;
       }
 
@@ -351,7 +353,6 @@ jb_err parse_http_url(const char * url,
           * Error: More than SZ(vec) components in domain
           *    or: no components in domain
           */
-         free_http_request(http);
          return JB_ERR_PARSE;
       }
 
@@ -361,7 +362,6 @@ jb_err parse_http_url(const char * url,
       http->dvec = (char **)malloc(size);
       if (NULL == http->dvec)
       {
-         free_http_request(http);
          return JB_ERR_MEMORY;
       }
 
@@ -489,7 +489,6 @@ jb_err parse_http_request(const char *req,
      || (http->ver == NULL) )
    {
       free(buf);
-      free_http_request(http);
       return JB_ERR_MEMORY;
    }