projects
/
srvx.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bug fixes (from code coverage tests)
[srvx.git]
/
src
/
main.c
diff --git
a/src/main.c
b/src/main.c
index 38b95be5105c8eff505b1bc66381014287c988bf..e778f75f839bba854904100d98a327523f052710 100644
(file)
--- a/
src/main.c
+++ b/
src/main.c
@@
-161,14
+161,9
@@
uplink_insert(const char *key, void *data, UNUSED_ARG(void *extra))
uplink->bind_addr_len = sizeof(*sin);
if (str && getipbyname(str, &addr))
{
uplink->bind_addr_len = sizeof(*sin);
if (str && getipbyname(str, &addr))
{
- sin = malloc(uplink->bind_addr_len);
- sin->sin_port = 0;
+ sin = calloc(1, uplink->bind_addr_len);
sin->sin_family = AF_INET;
sin->sin_addr.s_addr = addr;
sin->sin_family = AF_INET;
sin->sin_addr.s_addr = addr;
-#ifdef HAVE_SIN_LEN
- sin->sin_len = 0;
-#endif
- memset(sin->sin_zero, 0, sizeof(sin->sin_zero));
uplink->bind_addr = sin;
}
else
uplink->bind_addr = sin;
}
else
@@
-235,6
+230,7
@@
uplink_compile(void)
for(uplink = oldUplinks; uplink; uplink = next)
{
next = uplink->next;
for(uplink = oldUplinks; uplink; uplink = next)
{
next = uplink->next;
+ free(uplink->bind_addr);
free(uplink);
}
}
free(uplink);
}
}
@@
-614,7
+610,7
@@
void main_shutdown(void)
ioset_cleanup();
for (ul = cManager.uplinks; ul; ul = ul_next) {
ul_next = ul->next;
ioset_cleanup();
for (ul = cManager.uplinks; ul; ul = ul_next) {
ul_next = ul->next;
-
if (ul->bind_addr)
free(ul->bind_addr);
+ free(ul->bind_addr);
free(ul);
}
tools_cleanup();
free(ul);
}
tools_cleanup();