https://gitlab.synchro.net/main/sbbs/-/commit/6ed4a05faf856cf762fd1014
Modified Files:
src/sbbs3/js_bbs.cpp js_file.c js_filebase.c js_msgbase.c js_socket.c Log Message:
Native JS methods must return JS_FALSE for (Error) exceptions to be thrown
I discovered the first case when FileBase.get_path() failed, but didn't (immediately) throw an exception. Reviewing the other instances of JS_RepoertError() calls found several that either reported a garbage (e.g. NULL) string value or returned JS_TRUE.
The design pattern used a little in js_socket.c probably should be used more:
if (JS_IsExceptionPending(cx))
return JS_FALSE;
return JS_TRUE;
... but that's more of a refactor than I had the stomach for right now.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net