Fix NullPointerException on NsdService
The NsdService will throw a NPE if a new client is registered with a null INsdManagerCallback object. To avoid this, perform a null check before registering a new client and throw an IllegalArgumentException if the callback is null. Bug: 293285797 Test: atest FrameworksNetTests Change-Id: Id61e27873591031c3fe383879aee0d40eebc08b3
This commit is contained in:
@@ -1585,6 +1585,20 @@ public class NsdServiceTest {
|
||||
lockOrder.verify(mMulticastLock).release();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNullINsdManagerCallback() {
|
||||
final NsdService service = new NsdService(mContext, mHandler, CLEANUP_DELAY_MS, mDeps) {
|
||||
@Override
|
||||
public INsdServiceConnector connect(INsdManagerCallback baseCb,
|
||||
boolean runNewMdnsBackend) {
|
||||
// Pass null INsdManagerCallback
|
||||
return super.connect(null /* cb */, runNewMdnsBackend);
|
||||
}
|
||||
};
|
||||
|
||||
assertThrows(IllegalArgumentException.class, () -> new NsdManager(mContext, service));
|
||||
}
|
||||
|
||||
private void waitForIdle() {
|
||||
HandlerUtils.waitForIdle(mHandler, TIMEOUT_MS);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user