- 21 Mar, 2015 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 16 Mar, 2015 3 commits
-
-
Yukihiro "Matz" Matsumoto authored
I modified the undefined frexpl in cygwin of make
-
Tarosa authored
-
Tarosa authored
-
- 05 Mar, 2015 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
Fix #2739 stack_extend in mrb_f_send
-
Go Saito authored
mrb_f_send needs stack_extend like OP_SEND Signed-off-by:
Go Saito <gos@iij.ad.jp>
-
- 28 Feb, 2015 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
Use ptrdiff_t to suppress signedness warning
-
Kouhei Sutou authored
3df32161 says so but there is no warning with GCC 4.9 on my Debian GNU/Linux environment.
-
- 27 Feb, 2015 3 commits
-
-
Yukihiro "Matz" Matsumoto authored
delete prototypes of undefined functions
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
- 26 Feb, 2015 2 commits
-
-
cremno authored
-
Yukihiro "Matz" Matsumoto authored
Fix a crash bug on raising after realloc
-
- 24 Feb, 2015 5 commits
-
-
Kouhei Sutou authored
The following program reproduces this problem: #include <mruby.h> static mrb_value recursive(mrb_state *mrb, mrb_value self) { mrb_int n; mrb_get_args(mrb, "i", &n); if (n == 0) { mrb_raise(mrb, E_RUNTIME_ERROR, "XXX"); } else { mrb_funcall(mrb, self, "recursive", 1, mrb_fixnum_value(n - 1)); } return self; } int main(void) { mrb_state *mrb; mrb = mrb_open(); mrb_define_method(mrb, mrb->kernel_module, "recursive", recursive, MRB_ARGS_REQ(1)); mrb_funcall(mrb, mrb_top_self(mrb), "recursive", 1, mrb_fixnum_value(30)); mrb_close(mrb); } Recursive method call isn't required. It's just for expanding call info stack. If mrb_realloc() is called in cipush(), cibase address is changed. So, we shouldn't compare ci before mrb_realloc() and cibase after mrb_realloc(). It accesses unknown address and causes crash.
-
Yukihiro "Matz" Matsumoto authored
Fix a bug that no expression case doesn't return valid value
-
Kouhei Sutou authored
Here is a script that reproduces this problem: x = case when true; 1 end p x # => main # 1 is expected
-
Yukihiro "Matz" Matsumoto authored
Fix a bug that if and no return value case can't return true clause value
-
Yukihiro "Matz" Matsumoto authored
fix pointer dereference after realloc
-
- 23 Feb, 2015 2 commits
-
-
Kouhei Sutou authored
Here is a script that reproduce this problem: x = if true 1 else case 2 when 3 end 4 end p x # => nil # 1 is expected
-
Go Saito authored
In src/vm.c: mrb_funcall_with_block stack_extend may realloc mrb->c->stbase, if argv points on mruby's stack, then it points invalid address after stack_extend. e.g. src/class.c: mrb_instance_new This code: ```ruby class A def initialize(a0,a1,a2,a3,a4) a0.is_a? Array end end def f(a0,a1,a2,a3,a4) A.new(a0,a1,a2,a3,a4) f(a0,a1,a2,a3,a4) end f(0,1,2,3,4) ``` is expected to get exception ``` stack level too deep. (limit=(0x40000 - 128)) (SystemStackError) ``` but get segfault. Signed-off-by:
Go Saito <gos@iij.ad.jp>
-
- 19 Feb, 2015 3 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
- 16 Feb, 2015 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
re-implement mrb_float_to_str()
-
- 13 Feb, 2015 3 commits
-
-
cremno authored
The new implementation is backwards incompatible, but I couldn't find any usage outside mruby and I also couldn't think of a different and good name. All ISO C99 printf conversion specifiers for floating point numbers and an optional precision are supported. It is largely based on code from the MIT licensed musl libc (http://www.musl-libc.org/) and its floating point printing is exact (unlike the current code behind Float#to_s).
-
Yukihiro "Matz" Matsumoto authored
Make backtraces work again under DISABLE_STDIO
-
Yukihiro "Matz" Matsumoto authored
Add more debug flags for GCC based compilers
-
- 12 Feb, 2015 1 commit
-
-
Simon Génier authored
-
- 10 Feb, 2015 1 commit
-
-
Kouhei Sutou authored
We can use `#define`-ed macros in GDB with `-g3` flag. We can run code step by step in GDB with `-O0` flag.
-
- 07 Feb, 2015 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
Delete temp variable
-
- 06 Feb, 2015 6 commits
-
-
Jun Hiroe authored
-
Jun Hiroe authored
-
Yukihiro "Matz" Matsumoto authored
mruby-config supports MRUBY_LDFLAGS_BEFORE_LIBS in libmruby.flags.mak
-
Yukihiro "Matz" Matsumoto authored
Fix possible segfault when accessing backtrace with MRB_WORD_BOXING.
-
MATSUMOTO Ryosuke authored
-
Yukihiro "Matz" Matsumoto authored
Fix ensure with yield context on break and return
-
- 05 Feb, 2015 2 commits
-
-
Simon Génier authored
-
Kouhei Sutou authored
How to reproduce: class A def x yield ensure y end def y end end # Work A.new.x do end # Not work # trace: # [2] /tmp/a.rb:5:in A.x # [0] /tmp/a.rb:15 # /tmp/a.rb:5: undefined method 'y' for main (NoMethodError) A.new.x do break end # trace: # [2] /tmp/a.rb:5:in A.call # [0] /tmp/a.rb:19 # /tmp/a.rb:5: undefined method 'y' for main (NoMethodError) lambda do A.new.x do return end end.call `self` in ensure is broken when yield and break/return are used.
-
- 02 Feb, 2015 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
Replace int with mrb_bool in dump_bigendian_p func
-