Skip to content

Commit cac2cf9

Browse files
committed
fix: catch error during ZkDaedalusVm_overrideFunction
1 parent 5f8a96b commit cac2cf9

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/DaedalusVm.cc

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -442,10 +442,15 @@ void ZkDaedalusVm_registerExternal(ZkDaedalusVm* slf,
442442
void ZkDaedalusVm_overrideFunction(ZkDaedalusVm* slf, char const* name, ZkDaedalusVmExternalCallback cb, void* ctx) {
443443
ZKC_TRACE_FN();
444444
ZKC_CHECK_NULLV(slf, name, cb);
445-
slf->handle.override_function(name, [slf, ctx, cb](zenkit::DaedalusVm&) -> zenkit::DaedalusNakedCall {
446-
cb(ctx, slf);
447-
return {};
448-
});
445+
446+
try {
447+
slf->handle.override_function(name, [slf, ctx, cb](zenkit::DaedalusVm&) -> zenkit::DaedalusNakedCall {
448+
cb(ctx, slf);
449+
return {};
450+
});
451+
} catch (std::exception const& exc) {
452+
ZKC_LOG_ERROR("ZkDaedalusVm_overrideFunction() failed: %s", exc.what());
453+
}
449454
}
450455

451456
void ZkDaedalusVm_registerExternalDefault(ZkDaedalusVm* slf, ZkDaedalusVmExternalDefaultCallback cb, void* ctx) {

0 commit comments

Comments
 (0)