1. 30 Dec, 2021 1 commit
    • dearblue's avatar
      Get object properties after `mrb_get_args()` · a137ef12
      dearblue authored
      ref. #5613
      
      I checked with Valgrind, and the methods that can cause use-after-free are `Array#rotate`, `Array#rotate!`, and `String#byteslice`.
      Since `String#rindex` uses `RSTRING_LEN()` indirectly inside the function, no reference to the out-of-bounds range is generated.
      a137ef12
  2. 29 Dec, 2021 3 commits
  3. 28 Dec, 2021 5 commits
  4. 27 Dec, 2021 3 commits
  5. 25 Dec, 2021 2 commits
  6. 23 Dec, 2021 1 commit
  7. 22 Dec, 2021 2 commits
  8. 21 Dec, 2021 2 commits
  9. 20 Dec, 2021 3 commits
  10. 19 Dec, 2021 1 commit
  11. 18 Dec, 2021 1 commit
  12. 17 Dec, 2021 2 commits
    • dearblue's avatar
      Print error before cleanup in `codegen_error()` · 26338fe6
      dearblue authored
      Previously, it always pointed to the highest scope as the location of the error.
      
        - example code `code.rb`
      
          ```ruby
          huge_num = "1" + "0" * 300; eval <<CODE, nil, "test.rb", 1
          class Object
            module A
              #{huge_num}
            end
          end
          CODE
          ```
      
        - Before this patch
      
          ```console
          % bin/mruby code.rb
          test.rb:1: integer too big
          trace (most recent call last):
                  [1] code.rb:1
          code.rb:1:in eval: codegen error (ScriptError)
          ```
      
        - After this patch
      
          ```console
          % bin/mruby code.rb
          test.rb:3: integer too big
          trace (most recent call last):
                  [1] code.rb:1
          code.rb:1:in eval: codegen error (ScriptError)
          ```
      26338fe6
    • dearblue's avatar
      Add `bin/mrbc --no-ext-ops` switch · 6b8582c9
      dearblue authored
      Print an error if `OP_EXT[123]` is needed when generating mruby binary.
      This may be useful for mruby/c.
      
      Inspired by #5590.
      6b8582c9
  13. 16 Dec, 2021 3 commits
  14. 15 Dec, 2021 2 commits
  15. 14 Dec, 2021 1 commit
  16. 13 Dec, 2021 7 commits
  17. 12 Dec, 2021 1 commit