[quickjs-devel] Re: Return a variable that does not exist without throwing ReferenceError exception

  • From: Fabrice Bellard <fabrice@xxxxxxxxxxx>
  • To: quickjs-devel@xxxxxxxxxxxxx
  • Date: Mon, 9 Sep 2019 16:41:35 +0200

"std" is a predefined variable in the QuickJS version you use. You should upgrade to the latest release where "std" and "os" are only defined with the "--std" option or in the REPL. In the older versions, you can add the "--nostd" option to avoid the automatic definition of "std" and "os".

Best regards,

Fabrice.

On 9/9/19 4:32 PM, Houyou Yao wrote:

Hello??
 ?0?2 ?0?2 The following description is a possible issue for QuickJS:

*version:* quickjs-2019-08-18

*Testcase:*
var NISLFuzzingFunc = function() {
 ?0?2 ?0?2 return std;
};
var value = NISLFuzzingFunc();

*Command:*
./ quickjs-2019-08-18/qjs testcase.js

*Output:*


*Expected output:*
Throw ReferenceError on line 2

*Description:*
QuickJS does not throw an exception when returning an undefined variable, while other engines throw ReferenceError on Line 2, such as v8, spiderMonkey, javascriptCore, chakra.


Cheers,
Houyou Yao



Other related posts: