summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2015-07-16use mrb_str_cat_str() instead of mrb_str_append()cremno
If the argument is always a string, then mrb_str_cat_str() can be directly called instead of indirectly by mrb_str_append(). mrb_any_to_s(), mrb_obj_as_string(), mrb_inspect() always return a string.
2015-07-15mrb_protect() to return the exception raised (with the state of true)Yukihiro "Matz" Matsumoto
2015-07-15add an small comment description in mruby/error.h headerYukihiro "Matz" Matsumoto
2015-07-15remove unused variable declarationYukihiro "Matz" Matsumoto
2015-07-15Use class array instead of variadic.take_cheeze
2015-07-15Implement `mrb_protect`, `mrb_ensure`, `mrb_rescue`, `mrb_rescue_exceptions`.take_cheeze
(`mrb_rescue_exceptions` is mruby implementation of `rb_rescue2`.) Closes #2844, closes #2837.
2015-07-15Refactor `Build#compile_as_cxx`.take_cheeze
2015-07-14Merge pull request #2884 from jbreeden/doc_bang_modifierYukihiro "Matz" Matsumoto
Doc bang modifier
2015-07-13Fix typojbreeden
2015-07-13Add ! documentation to mruby.h.mdjbreeden
2015-07-14mrb_get_args: improve function description about !Yukihiro "Matz" Matsumoto
2015-07-14mrb_get_args: allow d!Yukihiro "Matz" Matsumoto
2015-07-14mrb_get_args: allow A,H,s,z,a,d specifiers to take ! to accept nil.Yukihiro "Matz" Matsumoto
S,A,H gives nil, s,z,a,d gives NULL for nil argument. ref 02474da
2015-07-13use "S!" specifier of mrb_get_args() to improve #2882 fix.Yukihiro "Matz" Matsumoto
2015-07-13allow '!' after 'S' specifier of mrb_get_args() that allow nil.Yukihiro "Matz" Matsumoto
thus "S!" means String|nil type. you have to check nil before dereferencing the value. this is added to address #2882 while keeping code simplicity. besides that current #2882 fix lose polymorphism provided by mrb_get_args().
2015-07-13refactor mrb_bob_missing to share raising NoMethodError code; fix #2878Yukihiro "Matz" Matsumoto
Note: arguments of mrb_no_method_error() has changed. You need to replace 3rd and 4th argument (say n, argv) to mrb_ary_new_from_values(mrb, n, argv).
2015-07-12Merge pull request #2883 from jbreeden/array_join_nilYukihiro "Matz" Matsumoto
Patching array join
2015-07-11Removing unndeeded to_sjbreeden
2015-07-11Patching array joinjbreeden
2015-07-09Merge pull request #2880 from mattn/llroundYukihiro "Matz" Matsumoto
implement llround. some platform (ex: mingw32) doesn't have llround.
2015-07-09use round for llround. some platform (ex: mingw32) doesn't have llround.Yasuhiro Matsumoto
2015-07-07method_missing definition may be undefined; fix #2878Yukihiro "Matz" Matsumoto
2015-07-07Merge pull request #2877 from cremno/fix-dangling-ptrYukihiro "Matz" Matsumoto
Coverity: fix dangling pointer
2015-07-07Merge pull request #2876 from joans321/masterYukihiro "Matz" Matsumoto
fix androideabi cross-compile error : undefined reference to 'frexpl'
2015-07-07Merge pull request #2875 from davydovanton/doc-comment-typoYukihiro "Matz" Matsumoto
Fix typo in comment in String#mrb_cstr_to_inum
2015-07-06fix androideabi cross-compile error : undefined reference to 'frexpl'xuejianqing
2015-07-05Fix typo in comment in String#mrb_cstr_to_inum [skip ci]Anton Davydov
2015-07-03Merge pull request #2871 from archSeer/patch-2Yukihiro "Matz" Matsumoto
Fix incorrect memory allocation of mrdb_state_new.
2015-07-03Merge pull request #2874 from cremno/fix-parser-oob-writeYukihiro "Matz" Matsumoto
Coverity: fix oob write by actually truncating buffer
2015-07-03Merge pull request #2873 from cremno/fix-coverity-missing-break-in-switchYukihiro "Matz" Matsumoto
Coverity: fix missing break in switch defects
2015-07-03fix dangling pointercremno
CID 75872 (#3-2 of 3): Pointer to local outside scope (RETURN_LOCAL) 38. use_invalid: Using p, which points to an out-of-scope variable buf.
2015-07-03fix oob write by actually truncating buffercremno
Found by Coverity scan of polyfox-moon: CID 121927 (#1 of 1): Out-of-bounds write (OVERRUN)
2015-07-03remove unnecessary default casecremno
2015-07-02add missing fall through commentscremno
2015-07-02Fix incorrect memory allocation of mrdb_state_new.Blaž Hrastnik
As detected in a Coverity scan. https://scan8.coverity.com/reports.htm#v26153/p11375/fileInstanceId=6844472&defectInstanceId=2516000&mergedDefectId=75866
2015-07-01Merge pull request #2869 from cremno/refactor-print.cYukihiro "Matz" Matsumoto
src/print.c: rewrite printstr() to get rid of code duplication
2015-07-01Merge pull request #2868 from sgnr/avoid-narrowing-cast-in-flo-roundYukihiro "Matz" Matsumoto
Avoid a narrowing cast in flo_round under MRB_INT64.
2015-06-29Avoid a narrowing cast in flo_round under MRB_INT64.Simon Génier
2015-06-29Merge pull request #2867 from kou/proc-fix-gc-crashYukihiro "Matz" Matsumoto
Fix a crash bug when GC is ran while creating a proc with env
2015-06-29Fix a crash bug when GC is ran while creating a proc with envKouhei Sutou
mrb_proc_new_cfunc_with_env() allocates RProc with RProc::env as NULL then allocates REnv and sets it to RProc::env of the allocated RProc. If incremental GC is ran before "allocates REnv and sets it to RProc::env of the allocated RProc", the allocated RProc's GC status is "marked" (Black) and the allocated REnv's GC status is "unmarked" (White). The next incremental GC sweeps the allocated REnv without re-marking the allocated RProc. Because the RProc is Black and the REnv is White. We need to implement write barrier for the case. We can force to cause the above situation by the following patch: diff --git a/src/proc.c b/src/proc.c index f98998f..4f4e25c 100644 --- a/src/proc.c +++ b/src/proc.c @@ -92,6 +92,7 @@ mrb_proc_new_cfunc_with_env(mrb_state *mrb, mrb_func_t func, mrb_int argc, const struct REnv *e; int i; + mrb_incremental_gc(mrb); p->env = e = env_new(mrb, argc); MRB_ENV_UNSHARE_STACK(e); e->stack = (mrb_value*)mrb_malloc(mrb, sizeof(mrb_value) * argc); With this patch, "rake test" causes segmentation fault.
2015-06-29Merge pull request #2866 from jurriaan/fix-crashYukihiro "Matz" Matsumoto
Fix segfault found using afl-fuzz
2015-06-29Merge pull request #2863 from suzukaze/fix-typoYukihiro "Matz" Matsumoto
Fix typo; Replace extensional with extended
2015-06-29Merge pull request #2862 from scalone/recursive_cloneYukihiro "Matz" Matsumoto
Add —-recursive option to automatically update submodules from git mgems
2015-06-29Merge pull request #2861 from scalone/quotes_useYukihiro "Matz" Matsumoto
Fix quotes use during load special path gem of gem.
2015-06-29Merge pull request #2860 from franckverrot/move-docYukihiro "Matz" Matsumoto
Respect the directory structure of `include`
2015-06-28Fix segfault found using afl-fuzzJurriaan Pruis
2015-06-28Rename extended xxxx class or module to xxxx class or module extensionJun Hiroe
2015-06-28Fix typo; Replace extensional with extendedJun Hiroe
2015-06-26Fix quotes use during load special path gem of gem.Thiago Scalone
2015-06-26Add —-recursive option to automatically update submodules from git mgems.Thiago Scalone