From a47dce30b5163a4bf804a41b9dbd0de6ca9e24a0 Mon Sep 17 00:00:00 2001 From: rstam Date: Thu, 20 Jun 2024 10:48:40 -0700 Subject: [PATCH] CSHARP-5154: Coverity analysis defect 138095: Dereference null return value. --- .../UnionMethodToPipelineTranslator.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/MongoDB.Driver/Linq/Linq3Implementation/Translators/ExpressionToPipelineTranslators/UnionMethodToPipelineTranslator.cs b/src/MongoDB.Driver/Linq/Linq3Implementation/Translators/ExpressionToPipelineTranslators/UnionMethodToPipelineTranslator.cs index 1b90bc80be4..831060659e7 100644 --- a/src/MongoDB.Driver/Linq/Linq3Implementation/Translators/ExpressionToPipelineTranslators/UnionMethodToPipelineTranslator.cs +++ b/src/MongoDB.Driver/Linq/Linq3Implementation/Translators/ExpressionToPipelineTranslators/UnionMethodToPipelineTranslator.cs @@ -39,7 +39,13 @@ public static AstPipeline Translate(TranslationContext context, MethodCallExpres if (secondValue is IMongoQueryable secondQueryable) { var secondProvider = (IMongoQueryProviderInternal)secondQueryable.Provider; - var secondCollectionName = secondProvider.CollectionNamespace.CollectionName; + var secondCollectionNamespace = secondProvider.CollectionNamespace; + if (secondCollectionNamespace == null) + { + throw new ExpressionNotSupportedException(expression, because: "second argument must be an IMongoQueryable against a collection"); + } + + var secondCollectionName = secondCollectionNamespace.CollectionName; var secondPipelineInputSerializer = secondProvider.PipelineInputSerializer; var secondContext = TranslationContext.Create(secondQueryable.Expression, secondPipelineInputSerializer); var secondPipeline = ExpressionToPipelineTranslator.Translate(secondContext, secondQueryable.Expression);