diff options
| author | 2019-03-04 17:00:24 -0800 | |
|---|---|---|
| committer | 2019-03-04 17:00:24 -0800 | |
| commit | 01ffab06c19b96ad035a58e55eee3f2af6b43bf7 (patch) | |
| tree | 52fed7925052c3d890fa3358c1797b9e090d1701 | |
| parent | 607ca6029e9135cd01b022c13161dba2ea8d03ba (diff) | |
| parent | a5d85affa9d1c869a8d2178b9daa284240e1c904 (diff) | |
Merge "ip-up-vpn: Fix resource leaks in error cases"
am: a5d85affa9
Change-Id: Id6a1442dd9226b50a392aca2d484afd357bcabd9
| -rw-r--r-- | cmds/ip-up-vpn/ip-up-vpn.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cmds/ip-up-vpn/ip-up-vpn.c b/cmds/ip-up-vpn/ip-up-vpn.c index 3b8955b166..71f08375f7 100644 --- a/cmds/ip-up-vpn/ip-up-vpn.c +++ b/cmds/ip-up-vpn/ip-up-vpn.c @@ -95,6 +95,7 @@ int main(int argc, char **argv) strncpy(ifr.ifr_name, interface, IFNAMSIZ); if (ioctl(s, SIOCSIFFLAGS, &ifr)) { ALOGE("Cannot bring up %s: %s", interface, strerror(errno)); + fclose(state); return 1; } @@ -102,6 +103,7 @@ int main(int argc, char **argv) if (!set_address(&ifr.ifr_addr, address) || ioctl(s, SIOCSIFADDR, &ifr)) { ALOGE("Cannot set address: %s", strerror(errno)); + fclose(state); return 1; } @@ -109,6 +111,7 @@ int main(int argc, char **argv) if (set_address(&ifr.ifr_netmask, env("INTERNAL_NETMASK4"))) { if (ioctl(s, SIOCSIFNETMASK, &ifr)) { ALOGE("Cannot set netmask: %s", strerror(errno)); + fclose(state); return 1; } } @@ -123,6 +126,7 @@ int main(int argc, char **argv) fprintf(state, "%s\n", env("REMOTE_ADDR")); } else { ALOGE("Cannot parse parameters"); + fclose(state); return 1; } |