diff options
author | Matthew Bentham <matthew.bentham@arm.com> | 2021-06-29 15:18:32 +0100 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2021-06-29 15:23:30 +0100 |
commit | 6f24b1aac9cbf5dfb3918cb59a7e903ddcec420e (patch) | |
tree | d2e5695e692807d8767206eb151f3e0378f0b16f /src/backends/backendsCommon/WorkloadFactory.cpp | |
parent | b082ed076b489f17bad3663005801b251d642108 (diff) | |
download | armnn-6f24b1aac9cbf5dfb3918cb59a7e903ddcec420e.tar.gz |
Fix segfault in IsLayerSupportedTests
DummyLayer<> was not implemented for QLstmLayer, so the default
implementation was getting called. This caused null weights
to be dereferenced in WorkloadFactory during IsLayerSupportedTests.
While this would often not cause a crash, it could be reliably
detected by running the UnitTests with Undefined Behavior Sanitizer.
Change-Id: I7a49b18b8292632436b0aae52d6607e28fdd1839
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Diffstat (limited to 'src/backends/backendsCommon/WorkloadFactory.cpp')
-rw-r--r-- | src/backends/backendsCommon/WorkloadFactory.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/WorkloadFactory.cpp b/src/backends/backendsCommon/WorkloadFactory.cpp index 61ad20995b..dc70e6a9c2 100644 --- a/src/backends/backendsCommon/WorkloadFactory.cpp +++ b/src/backends/backendsCommon/WorkloadFactory.cpp @@ -834,6 +834,9 @@ bool IWorkloadFactory::IsLayerConfigurationSupported(const BackendId& backendId, LstmInputParamsInfo paramsInfo; // Basic parameters + ARMNN_ASSERT(cLayer->m_BasicParameters.m_InputToForgetWeights.get() != nullptr); + ARMNN_ASSERT(cLayer->m_BasicParameters.m_InputToCellWeights.get() != nullptr); + ARMNN_ASSERT(cLayer->m_BasicParameters.m_InputToOutputWeights.get() != nullptr); paramsInfo.m_InputToForgetWeights = &cLayer->m_BasicParameters.m_InputToForgetWeights->GetTensorInfo(); paramsInfo.m_InputToCellWeights = &cLayer->m_BasicParameters.m_InputToCellWeights->GetTensorInfo(); paramsInfo.m_InputToOutputWeights = &cLayer->m_BasicParameters.m_InputToOutputWeights->GetTensorInfo(); |