diff --git a/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java b/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java index b17bfcf8af..4ba51308b8 100644 --- a/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java +++ b/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java @@ -766,17 +766,16 @@ public class BpfCoordinator { } private void dumpIpv6UpstreamRules(IndentingPrintWriter pw) { - final BpfMap ipv6UpstreamMap = mDeps.getBpfUpstream6Map(); - if (ipv6UpstreamMap == null) { - pw.println("No IPv6 upstream"); - return; - } - try { - if (ipv6UpstreamMap.isEmpty()) { + try (BpfMap map = mDeps.getBpfUpstream6Map()) { + if (map == null) { + pw.println("No IPv6 upstream"); + return; + } + if (map.isEmpty()) { pw.println("No IPv6 upstream rules"); return; } - ipv6UpstreamMap.forEach((k, v) -> pw.println(ipv6UpstreamRuletoString(k, v))); + map.forEach((k, v) -> pw.println(ipv6UpstreamRuletoString(k, v))); } catch (ErrnoException e) { pw.println("Error dumping IPv4 map: " + e); } @@ -797,19 +796,18 @@ public class BpfCoordinator { } private void dumpIpv4ForwardingRules(IndentingPrintWriter pw) { - final BpfMap ipv4UpstreamMap = mDeps.getBpfUpstream4Map(); - if (ipv4UpstreamMap == null) { - pw.println("No IPv4 support"); - return; - } - try { - if (ipv4UpstreamMap.isEmpty()) { + try (BpfMap map = mDeps.getBpfUpstream4Map()) { + if (map == null) { + pw.println("No IPv4 support"); + return; + } + if (map.isEmpty()) { pw.println("No IPv4 rules"); return; } pw.println("[IPv4]: iif(iface) oif(iface) src nat dst"); pw.increaseIndent(); - ipv4UpstreamMap.forEach((k, v) -> pw.println(ipv4RuleToString(k, v))); + map.forEach((k, v) -> pw.println(ipv4RuleToString(k, v))); } catch (ErrnoException e) { pw.println("Error dumping IPv4 map: " + e); } diff --git a/Tethering/src/com/android/networkstack/tethering/BpfMap.java b/Tethering/src/com/android/networkstack/tethering/BpfMap.java index 89caa8a82d..bc01dbd41d 100644 --- a/Tethering/src/com/android/networkstack/tethering/BpfMap.java +++ b/Tethering/src/com/android/networkstack/tethering/BpfMap.java @@ -218,7 +218,7 @@ public class BpfMap implements AutoCloseable } @Override - public void close() throws Exception { + public void close() throws ErrnoException { closeMap(mMapFd); }