From 5939b96213305295edd010892220919f8f2fd1cf Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Fri, 12 Nov 2021 23:42:09 +0100 Subject: createOperationsCompoundToCompound(): fix null pointer dereference when connection to proj.db doesn't exist. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40955 --- src/iso19111/operation/coordinateoperationfactory.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/iso19111/operation/coordinateoperationfactory.cpp') diff --git a/src/iso19111/operation/coordinateoperationfactory.cpp b/src/iso19111/operation/coordinateoperationfactory.cpp index e9bd3cfe..9b891888 100644 --- a/src/iso19111/operation/coordinateoperationfactory.cpp +++ b/src/iso19111/operation/coordinateoperationfactory.cpp @@ -5250,8 +5250,10 @@ void CoordinateOperationFactory::Private::createOperationsCompoundToCompound( // and a geoid model for Belfast height referenced to ETRS89 if (verticalTransforms.size() == 1 && verticalTransforms.front()->hasBallparkTransformation()) { - auto dbContext = - context.context->getAuthorityFactory()->databaseContext(); + const auto &authFactory = context.context->getAuthorityFactory(); + auto dbContext = authFactory + ? authFactory->databaseContext().as_nullable() + : nullptr; const auto intermGeogSrc = srcGeog->promoteTo3D(std::string(), dbContext); const bool intermGeogSrcIsSameAsIntermGeogDst = -- cgit v1.2.3