summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2018-12-11Update release date.2.0.0Hiroshi Mimaki
2018-12-11Fixed missing comma in mruby/mirb usage.Hiroshi Mimaki
2018-11-27Merge branch 'master' into stableHiroshi Mimaki
2018-11-25Update `doc/limitations.md` for argument destructuring.Yukihiro "Matz" Matsumoto
2018-11-25Allow destructuring in formal arguments.Yukihiro "Matz" Matsumoto
e.g. ``` def m(a,(b,c),d); p [a,b,c,d]; end m(1,[2,3],4) # => [1,2,3,4] ``` mruby limitation: Destructured arguments (`b` and `c` in above example) cannot be accessed from the default expression of optional arguments and keyword arguments, since actual assignment is done after the evaluation of those default expressions. Thus: ``` def f(a,(b,c),d=b) p [a,b,c,d] end f(1,[2,3]) ``` raises `NoMethodError` for `b` in mruby.
2018-11-25Remove redundant rules from `parse.y`.Yukihiro "Matz" Matsumoto
2018-11-25Fix wrong number of arguments in `Array#fetch`; fix #4170Yukihiro "Matz" Matsumoto
2018-11-25Protect from exceptions raised outside of `mrb_vm_run()`.Yukihiro "Matz" Matsumoto
It can happen if signals are used (e.g. from `mruby-alarm` gem).
2018-11-25Remove `do { ... } while(0)` hacks from `MRB_TRY` macros.Yukihiro "Matz" Matsumoto
Because it can swallow `break` etc. if they are used in loops.
2018-11-22Fix mruby-socket test failure on MinGW.Hiroshi Mimaki
2018-11-21Merge pull request #4168 from robfors/docYukihiro "Matz" Matsumoto
Add documentation to mrb_load_irep
2018-11-20Update documentation to mrb_load_irepRob Fors
2018-11-20Update version number; fix #4165Yukihiro "Matz" Matsumoto
2018-11-20Fixed a bug in `mirb` heredoc handling; fix #3989Yukihiro "Matz" Matsumoto
2018-11-20Stop special treating of `\r` in the lexer; fix #4132Yukihiro "Matz" Matsumoto
2018-11-20Restrict total recursion number of `ecall()`; fix #3789Yukihiro "Matz" Matsumoto
2018-11-19Add `-fpermissive` to C++ compiler flags.Yukihiro "Matz" Matsumoto
2018-11-19Call `mrb_str_to_str` from `mrb_string_value_ptr` for compatibility.Yukihiro "Matz" Matsumoto
2018-11-19Restore `mrb_string_type` function for compatibility.Yukihiro "Matz" Matsumoto
2018-11-19Add Hash type check for `OP_KARG` and `OP_KEY_P`; ref #4166Yukihiro "Matz" Matsumoto
2018-11-19Need to keep rooms for empty splat; fix #4166Yukihiro "Matz" Matsumoto
2018-11-19Adjust codedump output format; ref #4166Yukihiro "Matz" Matsumoto
2018-11-19Use type checking `mrb_to_str` instead of converting `mrb_str_to_str`.Yukihiro "Matz" Matsumoto
2018-11-19Avoid assignments from type checking `String#__to_str`.Yukihiro "Matz" Matsumoto
2018-11-19Removed `to_hash` conversion method.Yukihiro "Matz" Matsumoto
2018-11-19Removed `to_ary` conversion method.Yukihiro "Matz" Matsumoto
2018-11-19Removed `try_convert` method from Array and Hash.Yukihiro "Matz" Matsumoto
2018-11-19Removed `String#try_convert` method from `mruby-string-ext` gem.Yukihiro "Matz" Matsumoto
Because `try_convert` method rarely used in production. For mruby users, we have `__to_str` utility method to check string type.
2018-11-19Remove implicit conversion using `to_str` method; fix #3854Yukihiro "Matz" Matsumoto
We have added internal convenience method `__to_str` which does string type check. The issue #3854 was fixed but fundamental flaw of lack of stack depth check along with fibers still remains. Use `MRB_GC_FIXED_ARENA` for workaround.
2018-11-19Remove implicit conversion using `to_int` method.Yukihiro "Matz" Matsumoto
The ISO standard does not include implicit type conversion using `to_int`. This implicit conversion often causes vulnerability. There will be no more attacks like #4120. In addition, we have added internal convenience method `__to_int` which does type check and conversion (from floats).
2018-11-19fix non-ASCII comment.Yukihiro "Matz" Matsumoto
2018-11-19Check method existence for Enumerators; fix #3920Yukihiro "Matz" Matsumoto
The issue #3920 was fixed but the fundamental flaw of lack of stack depth check along with fibers still remains, even though it's not easy to cause the issue. Use `MRB_GC_FIXED_ARENA` to avoid the issue for workaround. After this patch, `obj.to_enum` raises `ArgumentError` if the object does not respond to the enumerating method. This is incompatible to CRuby but I think this behavior is better and CRuby should be updated to behave like this.
2018-11-19The current context may be changed in `mrb_vm_exec`; ref #3668 #4104Yukihiro "Matz" Matsumoto
2018-11-19Protect Fiber from GC in `ecall()`; fix #4104Yukihiro "Matz" Matsumoto
2018-11-19Improve Hash table using variable sized segments.Yukihiro "Matz" Matsumoto
2018-11-16The key or value object could be reclaimed by GC; fix #4164Yukihiro "Matz" Matsumoto
The GC may occur between `sg_shift` and `mrb_assoc_new`, in which case `key` and `value` could be freed even tough they are still alive. The issue is found and fixed by https://hackerone.com/hexodus
2018-11-15The saved `pc` from `ERR_PC_SET` was wrong; fix #4138Yukihiro "Matz" Matsumoto
The saving `pc` position should be beginning of the instruction. But after `mruby 2.0` byte code modification, the `pc` variable points the beginning of the next instruction. We save the previous position in a local variable `pc0`.
2018-11-15Fixed a bug in continuous read of target files; ref #4138Yukihiro "Matz" Matsumoto
Line number information in a compiled file was wrong.
2018-11-15Shrink file name table size to `uint16_t`; ref #4138Yukihiro "Matz" Matsumoto
2018-11-15Rename local variables in `mrb_debug_info_append_file`Yukihiro "Matz" Matsumoto
2018-11-15Simplify argument parsing; ref #4161Yukihiro "Matz" Matsumoto
2018-11-15Silence `-fsanitize=undefined` warning in `src/enum.c`; fix #4161Yukihiro "Matz" Matsumoto
2018-11-15Remove `filename`&`lines` from `mrb_irep` struct.Yukihiro "Matz" Matsumoto
This patch slightly reduce memory consumption (2% for my test).
2018-11-15Small renaming refactor in `dump.c`Yukihiro "Matz" Matsumoto
2018-11-15`String#{squeeze,delete,count}` to use bitmap for matching; ref #4163Yukihiro "Matz" Matsumoto
2018-11-15Pattern length may overflow `uint16_t`; fixed #4163Yukihiro "Matz" Matsumoto
The issue is reported by `https://hackerone.com/dgaletic`.
2018-11-07Merge pull request #4160 from mimaki/wrong-negative-float-in-mrbYukihiro "Matz" Matsumoto
Wrong pool data length for negative floating value in a mrb file.
2018-11-07Wrong pool data length for negative floating value in a mrb file.Hiroshi Mimaki
2018-11-05Fixed wrong `ArgumentError` with keyword arguments; fix #4159Yukihiro "Matz" Matsumoto
2018-11-05Fixed a bug in argument number check with kwargs; fix #4159Yukihiro "Matz" Matsumoto