diff --git a/src/include/platform/internal/GenericPlatformManagerImpl.ipp b/src/include/platform/internal/GenericPlatformManagerImpl.ipp index 7a46248e0eb312..4cee5dab0b5cd8 100644 --- a/src/include/platform/internal/GenericPlatformManagerImpl.ipp +++ b/src/include/platform/internal/GenericPlatformManagerImpl.ipp @@ -292,9 +292,11 @@ template void GenericPlatformManagerImpl::DispatchEventToApplication(const ChipDeviceEvent * event) { // Dispatch the event to each of the registered application event handlers. - for (AppEventHandler * eventHandler = mAppEventHandlerList; eventHandler != nullptr; eventHandler = eventHandler->Next) + for (AppEventHandler * eventHandler = mAppEventHandlerList; eventHandler != nullptr;) { + AppEventHandler * nextEventHandler = eventHandler->Next; eventHandler->Handler(event, eventHandler->Arg); + eventHandler = nextEventHandler; } }