diff options
author | William S Fulton <wsf@fultondesigns.co.uk> | 2021-02-28 22:00:55 +0000 |
---|---|---|
committer | William S Fulton <wsf@fultondesigns.co.uk> | 2021-02-28 22:00:55 +0000 |
commit | 30216c4fb8a92296283019412aa814f1c4b60d14 (patch) | |
tree | d8ce3bac173d9873978c4974084d064f56467c3a /Lib/javascript | |
parent | 00e64d7a49e0f3ad24574144095d2442313e8877 (diff) | |
parent | f768fd2b9d7f2816e431f7cd73f7c54c17742f03 (diff) | |
download | swig-30216c4fb8a92296283019412aa814f1c4b60d14.tar.gz |
Merge branch 'js-fix-626'
* js-fix-626:
Added check to prevent crash on illegal constructor call
Diffstat (limited to 'Lib/javascript')
-rw-r--r-- | Lib/javascript/v8/javascriptcode.swg | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Lib/javascript/v8/javascriptcode.swg b/Lib/javascript/v8/javascriptcode.swg index fb41f33ba..0b0f1304e 100644 --- a/Lib/javascript/v8/javascriptcode.swg +++ b/Lib/javascript/v8/javascriptcode.swg @@ -10,9 +10,10 @@ %fragment("js_ctor", "templates") %{ static SwigV8ReturnValue $jswrapper(const SwigV8Arguments &args) { SWIGV8_HANDLESCOPE(); - + SWIGV8_OBJECT self = args.Holder(); $jslocals + if(self->InternalFieldCount() < 1) SWIG_exception_fail(SWIG_ERROR, "Illegal call of constructor $jswrapper."); if(args.Length() != $jsargcount) SWIG_exception_fail(SWIG_ERROR, "Illegal number of arguments for $jswrapper."); $jscode @@ -77,9 +78,10 @@ fail: %fragment("js_overloaded_ctor", "templates") %{ static SwigV8ReturnValue $jswrapper(const SwigV8Arguments &args, V8ErrorHandler &SWIGV8_ErrorHandler) { SWIGV8_HANDLESCOPE(); - + SWIGV8_OBJECT self = args.Holder(); $jslocals + if(self->InternalFieldCount() < 1) SWIG_exception_fail(SWIG_ERROR, "Illegal call of constructor $jswrapper."); if(args.Length() != $jsargcount) SWIG_exception_fail(SWIG_ERROR, "Illegal number of arguments for $jswrapper."); $jscode |