You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Open Terminal 2 and start the chip-im-initiator with its own IPv6 address ::1:
$ ./chip-im-initiator ::1
Observe the output in chip-im-responder and check sanitizer logs for a null pointer dereference. chip-im-responder log.txt
Description
While running the chip-im-responder and sending a command using chip-im-initiator, the function InteractionModelEngine::CheckCommandExistence() calls GetDataModelProvider(), which directly returns a nullptr when mDataModelProvider is uninitialized or unset. This leads to a null pointer dereference at InteractionModelEngine.cpp:1789.
Previously, a null-check for mDataModelProvider existed in InteractionModelEngine::GetDataModelProvider() (refer to InteractionModelEngine.cpp:1858). However, this check appears to have been removed in a recent change, potentially causing this regression.
DataModel::Provider*InteractionModelEngine::GetDataModelProvider()const{[-]if(mDataModelProvider==nullptr)[-]{// These should be called within the CHIP processing loop.assertChipStackLockedByCurrentThread();[-]SetDataModelProvider(CodegenDataModelProviderInstance());[-]}returnmDataModelProvider;}
#35749 disabled this test in CI because the im-responder assumes it can just override a subset of methods without having a consistent data model (so making it work is non-trivial)
Reproduction steps
Open Terminal 1 and start the
chip-im-responder
:Open Terminal 2 and start the
chip-im-initiator
with its own IPv6 address::1
:Observe the output in
chip-im-responder
and check sanitizer logs for a null pointer dereference.chip-im-responder log.txt
Description
While running the
chip-im-responder
and sending a command usingchip-im-initiator
, the functionInteractionModelEngine::CheckCommandExistence()
callsGetDataModelProvider()
, which directly returns anullptr
whenmDataModelProvider
is uninitialized or unset. This leads to a null pointer dereference atInteractionModelEngine.cpp:1789
.Previously, a null-check for
mDataModelProvider
existed inInteractionModelEngine::GetDataModelProvider()
(refer toInteractionModelEngine.cpp:1858
). However, this check appears to have been removed in a recent change, potentially causing this regression.Bug prevalence
always
GitHub hash of the SDK that was being used
29c6fd8
Platform
core
Platform Version(s)
all versions
Anything else?
No response
The text was updated successfully, but these errors were encountered: