-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 $
*
* 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
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;
}
}
buf = strdup(http->hostport);
if (buf == NULL)
{
- free_http_request(http);
return JB_ERR_MEMORY;
}
if (http->host == NULL)
{
- free_http_request(http);
return JB_ERR_MEMORY;
}
}
http->dbuffer = strdup(http->host);
if (NULL == http->dbuffer)
{
- free_http_request(http);
return JB_ERR_MEMORY;
}
* Error: More than SZ(vec) components in domain
* or: no components in domain
*/
- free_http_request(http);
return JB_ERR_PARSE;
}
http->dvec = (char **)malloc(size);
if (NULL == http->dvec)
{
- free_http_request(http);
return JB_ERR_MEMORY;
}
|| (http->ver == NULL) )
{
free(buf);
- free_http_request(http);
return JB_ERR_MEMORY;
}