projects
/
yaz-moved-to-github.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
9063601
)
cs_parse_host free's connect_host on failure
author
Adam Dickmeiss
<adam@indexdata.dk>
Wed, 18 Dec 2013 13:09:25 +0000
(14:09 +0100)
committer
Adam Dickmeiss
<adam@indexdata.dk>
Wed, 18 Dec 2013 13:09:25 +0000
(14:09 +0100)
src/comstack.c
patch
|
blob
|
history
diff --git
a/src/comstack.c
b/src/comstack.c
index
6e72e25
..
fdcfcdb
100644
(file)
--- 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
uri = cp + 1;
}
#ifdef WIN32
+ xfree(*connect_host);
+ *connect_host = 0;
return 0;
#else
*t = unix_type;
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
*host = uri + 4;
*proto = PROTO_Z3950;
#else
+ xfree(*connect_host);
+ *connect_host = 0;
return 0;
#endif
}
return 0;
#endif
}
@@
-161,6
+165,8
@@
int cs_parse_host(const char *uri, const char **host,
(*host)++;
*proto = PROTO_HTTP;
#else
(*host)++;
*proto = PROTO_HTTP;
#else
+ xfree(*connect_host);
+ *connect_host = 0;
return 0;
#endif
}
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))
char *connect_host = 0;
if (!cs_parse_host(vhost, &host, &t, &proto, &connect_host))
- {
- xfree(connect_host);
return 0;
return 0;
- }
if (proxy_host)
{
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);
if (!cs_parse_host(proxy_host, &host, &t, &proto1, &connect_host))
- {
- xfree(connect_host);
return 0;
return 0;
- }
}
if (t == tcpip_type)
}
if (t == tcpip_type)