summaryrefslogtreecommitdiff
path: root/gweb/gresolv.c
diff options
context:
space:
mode:
Diffstat (limited to 'gweb/gresolv.c')
-rw-r--r--gweb/gresolv.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/gweb/gresolv.c b/gweb/gresolv.c
index 5cf7a9a6..8a51a9f6 100644
--- a/gweb/gresolv.c
+++ b/gweb/gresolv.c
@@ -181,17 +181,15 @@ static void find_srcaddr(struct sort_result *res)
if (fd < 0)
return;
- if (connect(fd, &res->dst.sa, sizeof(res->dst)) < 0) {
- close(fd);
- return;
- }
+ if (connect(fd, &res->dst.sa, sizeof(res->dst)) < 0)
+ goto out;
- if (getsockname(fd, &res->src.sa, &sl) < 0) {
- close(fd);
- return;
- }
+ if (getsockname(fd, &res->src.sa, &sl) < 0)
+ goto out;
res->reachable = true;
+
+out:
close(fd);
}