From 1c93e3a9cfdb4d42d934188fa7d73ea2ea32555a Mon Sep 17 00:00:00 2001 From: Ranjithkumar Ragavan <43761047+RanjithRagavan@users.noreply.github.com> Date: Mon, 6 Jul 2026 23:58:35 -0700 Subject: [PATCH] Fix nullptr dereference segfault in QNN runtime when op_package_options is null --- backends/qualcomm/runtime/QnnManager.cpp | 5 ++++- backends/qualcomm/runtime/backends/QnnBackendCommon.cpp | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/backends/qualcomm/runtime/QnnManager.cpp b/backends/qualcomm/runtime/QnnManager.cpp index 6cf6a3b4bf9..0f1169d26a8 100644 --- a/backends/qualcomm/runtime/QnnManager.cpp +++ b/backends/qualcomm/runtime/QnnManager.cpp @@ -84,7 +84,10 @@ QnnManager::QnnManager( "Enable shared buffer: %d", options->shared_buffer()); QNN_EXECUTORCH_LOG_INFO( "The number of op packages: %d", - options_->op_package_options()->op_package_infos()->size()); + options_->op_package_options() && + options_->op_package_options()->op_package_infos() + ? options_->op_package_options()->op_package_infos()->size() + : 0); } backend_params_ptr_ = std::make_unique(); diff --git a/backends/qualcomm/runtime/backends/QnnBackendCommon.cpp b/backends/qualcomm/runtime/backends/QnnBackendCommon.cpp index 81ec3ebde26..089afc3e63d 100644 --- a/backends/qualcomm/runtime/backends/QnnBackendCommon.cpp +++ b/backends/qualcomm/runtime/backends/QnnBackendCommon.cpp @@ -94,7 +94,8 @@ Error QnnBackend::Configure( return Error::Internal; } - if (op_package_options->op_package_infos()->size() > 0) { + if (op_package_options && op_package_options->op_package_infos() && + op_package_options->op_package_infos()->size() > 0) { BackendRegisterOpPackage(op_package_options->op_package_infos()); }