Add individual try/catch blocks for ParcelFileDescriptor closure
Enclosed each ParcelFileDescriptor.close() call in its own try/catch
block to ensure that if one closure throws an exception, the others will
still be attempted.
Bug: 346469095
Test: TH
Change-Id: Ib59fffaa39488acb73bbdbe8ebc795043f2b301f
diff --git a/service/src/com/android/server/connectivity/ClatCoordinator.java b/service/src/com/android/server/connectivity/ClatCoordinator.java
index d886182..f333dae 100644
--- a/service/src/com/android/server/connectivity/ClatCoordinator.java
+++ b/service/src/com/android/server/connectivity/ClatCoordinator.java
@@ -683,13 +683,25 @@
throw new IOException("Failed to start clat ", e);
} finally {
if (tunFd != null) {
- tunFd.close();
+ try {
+ tunFd.close();
+ } catch (IOException e) {
+ Log.e(TAG, "Fail to close tun file descriptor " + e);
+ }
}
if (readSock6 != null) {
- readSock6.close();
+ try {
+ readSock6.close();
+ } catch (IOException e) {
+ Log.e(TAG, "Fail to close read socket " + e);
+ }
}
if (writeSock6 != null) {
- writeSock6.close();
+ try {
+ writeSock6.close();
+ } catch (IOException e) {
+ Log.e(TAG, "Fail to close write socket " + e);
+ }
}
}
}