From: Adam Dickmeiss Date: Wed, 18 Dec 2013 13:09:25 +0000 (+0100) Subject: cs_parse_host free's connect_host on failure X-Git-Tag: v5.0.8~1 X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=commitdiff_plain;h=d33b2b3730c2746928944277ea8268485dc875b8 cs_parse_host free's connect_host on failure --- diff --git a/src/comstack.c b/src/comstack.c index 6e72e25..fdcfcdb 100644 --- a/src/comstack.c +++ b/src/comstack.c @@ -124,6 +124,8 @@ int cs_parse_host(const char *uri, const char **host, uri = cp + 1; } #ifdef WIN32 + xfree(*connect_host); + *connect_host = 0; return 0; #else *t = unix_type; @@ -142,6 +144,8 @@ int cs_parse_host(const char *uri, const char **host, *host = uri + 4; *proto = PROTO_Z3950; #else + xfree(*connect_host); + *connect_host = 0; return 0; #endif } @@ -161,6 +165,8 @@ int cs_parse_host(const char *uri, const char **host, (*host)++; *proto = PROTO_HTTP; #else + xfree(*connect_host); + *connect_host = 0; return 0; #endif } @@ -187,10 +193,7 @@ COMSTACK cs_create_host_proxy(const char *vhost, int blocking, void **vp, char *connect_host = 0; if (!cs_parse_host(vhost, &host, &t, &proto, &connect_host)) - { - xfree(connect_host); return 0; - } if (proxy_host) { @@ -198,10 +201,7 @@ COMSTACK cs_create_host_proxy(const char *vhost, int blocking, void **vp, xfree(connect_host); if (!cs_parse_host(proxy_host, &host, &t, &proto1, &connect_host)) - { - xfree(connect_host); return 0; - } } if (t == tcpip_type)