Make sure all FDs are correctly closed.

In this kind of series of calls, it's possible that an outer call to a
constructor fails, but the inner succeeded.
try {
    is = new A(new B());
} finally {
    if (null != is) is.close();
In this case, if new B() succeeds but new A() throws an
exception, is stays null and the intermediate object is never
closed. This is what was happening in this instance.

Bug: 7377336
Change-Id: I3fae9fec1135244982fcf5098c76d93f3e0f2add
1 file changed
tree: 187cd68f500734051270e05171fae35354aa9c8a
  3. dictionaries/
  4. java/
  5. native/
  6. tests/
  7. tools/