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
Release v4.4.0
Guard the C++ handler/callback invocations against exceptions so a throw
can no longer unwind through libubus/libubox C frames to std::terminate
(which would kill the whole process - e.g. a supervisor daemon losing all
its supervision on one bad request):
- common_handler() wraps the cb / dcb calls: a throwing ubus method
handler now returns UBUS_STATUS_UNKNOWN_ERROR instead of aborting.
- common_task() wraps the uloop task callback: a throwing task is dropped
rather than fatal.
Both log the exception to stderr on catch. The library previously only
caught while parsing the *incoming* blob, not while running user handlers.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Oskari Rauta <oskari.rauta@gmail.com>