diff options
Diffstat (limited to 'gweb/gresolv.c')
-rw-r--r-- | gweb/gresolv.c | 14 |
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); } |