From 096898a46e8f15ce5eca07ee5231fcc458487202 Mon Sep 17 00:00:00 2001 From: RapperCL <44110731+RapperCL@users.noreply.github.com> Date: Fri, 11 Nov 2022 08:15:13 +0800 Subject: [PATCH] ManagedChannelImpl.SubchannelImpl args check bug (#9651) Previously it could trigger NPE without the string saying which argument was null. --- core/src/main/java/io/grpc/internal/ManagedChannelImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java b/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java index 9cc7d70d1e..0311a6d2e3 100644 --- a/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java +++ b/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java @@ -1942,13 +1942,14 @@ final class ManagedChannelImpl extends ManagedChannel implements ScheduledHandle delayedShutdownTask; SubchannelImpl(CreateSubchannelArgs args, LbHelperImpl helper) { + checkNotNull(args, "args"); addressGroups = args.getAddresses(); if (authorityOverride != null) { List eagsWithoutOverrideAttr = stripOverrideAuthorityAttributes(args.getAddresses()); args = args.toBuilder().setAddresses(eagsWithoutOverrideAttr).build(); } - this.args = checkNotNull(args, "args"); + this.args = args; this.helper = checkNotNull(helper, "helper"); subchannelLogId = InternalLogId.allocate("Subchannel", /*details=*/ authority()); subchannelTracer = new ChannelTracer(