Catch exceptions when creating AIDL nanoapp binary
Avoid remote exception at the service. Bug: 194285834 Test: Run CHQTS bad nanoapp test and verify no crash Change-Id: I235f8e950ad747b99eedec41da70bac045bd29f5
This commit is contained in:
@@ -165,7 +165,18 @@ import java.util.List;
|
||||
aidlNanoAppBinary.flags = nanoAppBinary.getFlags();
|
||||
aidlNanoAppBinary.targetChreApiMajorVersion = nanoAppBinary.getTargetChreApiMajorVersion();
|
||||
aidlNanoAppBinary.targetChreApiMinorVersion = nanoAppBinary.getTargetChreApiMinorVersion();
|
||||
aidlNanoAppBinary.customBinary = nanoAppBinary.getBinaryNoHeader();
|
||||
// This explicit definition is required to avoid erroneous behavior at the binder.
|
||||
aidlNanoAppBinary.customBinary = new byte[0];
|
||||
|
||||
// Log exceptions while processing the binary, but continue to pass down the binary
|
||||
// since the error checking is deferred to the Context Hub.
|
||||
try {
|
||||
aidlNanoAppBinary.customBinary = nanoAppBinary.getBinaryNoHeader();
|
||||
} catch (IndexOutOfBoundsException e) {
|
||||
Log.w(TAG, e.getMessage());
|
||||
} catch (NullPointerException e) {
|
||||
Log.w(TAG, "NanoApp binary was null");
|
||||
}
|
||||
|
||||
return aidlNanoAppBinary;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user