summaryrefslogtreecommitdiffhomepage
path: root/mrbgems
AgeCommit message (Collapse)Author
2018-09-19Removed `to_hash` conversion method.Yukihiro "Matz" Matsumoto
2018-09-19fixup! Remove implicit conversion using `to_str` method.Yukihiro "Matz" Matsumoto
2018-09-19Removed `to_ary` conversion method.Yukihiro "Matz" Matsumoto
2018-09-19Removed `try_convert` method from Array and Hash.Yukihiro "Matz" Matsumoto
2018-09-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-09-19Remove implicit conversion using `to_str` method.Yukihiro "Matz" Matsumoto
We have added internal convenience method `__to_str` which does string type check.
2018-09-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-09-18Use `mrb_to_flo()` to check return value from `to_f`; fix #4115Yukihiro "Matz" Matsumoto
The ISO standard does not include implicit type conversion using `to_int`, `to_str` and sometimes `to_f`. For the compactness of the mruby implementation, maybe we should remove those implicit conversion from mruby.
2018-09-18Array size may be changed in `mrb_get_args()` reentry.Yukihiro "Matz" Matsumoto
fix #4116; fix #4117; fix #4118; fix #4119; fix #4120
2018-09-15Exclude pipe and exec on iOS/tvOSTom Black
Use of `execl()` is prohibited on these platforms
2018-09-16fixup! Add support for iOS platforms that does not support `fork`; fix #4113Yukihiro "Matz" Matsumoto
2018-09-16Merge pull request #4121 from clayton-shopify/fix-sprintf-overflowYukihiro "Matz" Matsumoto
Prevent signed integer overflow.
2018-09-16Add support for iOS platforms that does not support `fork`; fix #4113Yukihiro "Matz" Matsumoto
2018-09-14Prevent signed integer overflow.Clayton Smith
2018-09-08Merge pull request #4110 from dearblue/fix-typo1Yukihiro "Matz" Matsumoto
Fix typo
2018-09-07Clear terminated spacedearblue
2018-09-07Fix integer overflow issue; fix #4108Yukihiro "Matz" Matsumoto
I misunderstood the return value from `snprintf()`, which is NOT number of characters written in buffer, but the number of character the buffer has to have to write the complete output.
2018-09-07Add a new method `unpack1` to `mruby-pack` gem.Yukihiro "Matz" Matsumoto
2018-09-07Fix heap buffer overflow in `unpack_a`; fix #4103Yukihiro "Matz" Matsumoto
2018-09-06Make `Kernel#sleep` to accept float as a duration time.Yukihiro "Matz" Matsumoto
But when `MRB_WITHOUT_FLOAT` is set, there's no way to sleep for sub seconds. So mruby specific `usleep` is provided.
2018-09-06Remove `Sleep` module that does not exist in CRuby.Yukihiro "Matz" Matsumoto
2018-09-06Need to support multiple `**` splats in argument list; fix #4106Yukihiro "Matz" Matsumoto
2018-09-05Refactored `mruby-sleep` gem.Yukihiro "Matz" Matsumoto
* Method implementation functions made `static`. * Function declaration style has been changed. * Unnecessary header file `mrb_sleep.h` removed. * Used `mrb_get_args()` instead of self parsing. * Indentation kept untouched.
2018-09-05Add `mruby-sleep` gem to the core.Yukihiro "Matz" Matsumoto
2018-09-05Free `mrbc_context` on exit from `mruby`.Yukihiro "Matz" Matsumoto
2018-09-04Add type casts to silence MSVC warnings.Yukihiro "Matz" Matsumoto
2018-09-01Avoid warning in MSVC compilation.Yukihiro "Matz" Matsumoto
2018-09-01Too much peephole optimization in `gen_call`; fix #4091Yukihiro "Matz" Matsumoto
It causes trouble for safe navigation operator.
2018-09-01Move `Kernel#send` to `mruby-metaprog` gem.Yukihiro "Matz" Matsumoto
But `BasicObject#__send__` is still available from the core.
2018-09-01Use `__send__` instead of `send`.Yukihiro "Matz" Matsumoto
2018-08-30Separate meta-programming features to `mruby-metaprog` gem.Yukihiro "Matz" Matsumoto
We assume meta-programming is less used in embedded environments. We have moved following methods: * Kernel module global_variables, local_variables, singleton_class, instance_variables, instance_variables_defined?, instance_variable_get, instance_variable_set, methods, private_methods, public_methods, protected_methods, singleton_methods, define_singleton_methods * Module class class_variables, class_variables_defined?, class_variable_get, class_variable_set, remove_class_variable, included_modules, instance_methods, remove_method, method_removed, constants * Module class methods constants, nesting Note: Following meta-programming methods are kept in the core: * Module class alias_method, undef_method, ancestors, const_defined?, const_get, const_set, remove_const, method_defined?, define_method * Toplevel object define_method `mruby-metaprog` gem is linked by default (specified in default.gembox). When it is removed, it will save 40KB (stripped:8KB) on x86-64 environment last time I measured.
2018-08-30Remove consequent `OP_RETURN` by peephole optimization.Yukihiro "Matz" Matsumoto
2018-08-29Merge branch 'node_negate_fix' of https://github.com/ukrainskiysergey/mruby ↵Yukihiro "Matz" Matsumoto
into ukrainskiysergey-node_negate_fix
2018-08-29Check iseq buffer size before code emission; fix #4090Yukihiro "Matz" Matsumoto
The type of `s->pc` is now `uint16_t` that can be overflowed easily. Need more checks.
2018-08-28Merge branch 'mruby2-draft'Yukihiro "Matz" Matsumoto
2018-08-25Reduce integer casting warnings.Yukihiro "Matz" Matsumoto
2018-08-25fixup! New bytecode implementation of mruby VM.Yukihiro "Matz" Matsumoto
2018-08-25Hash splat `**` should not be ignored.Yukihiro "Matz" Matsumoto
Implemented by adding `OP_HASHCAT` that merges hashes.
2018-08-25Remove unused `NODE_*` constants from `node.h`.Yukihiro "Matz" Matsumoto
2018-08-25Add `NODE_KW_HASH` support in `mrb_parser_dump()`.Yukihiro "Matz" Matsumoto
2018-08-25Remove `arg_value` from `parse.y`.Yukihiro "Matz" Matsumoto
2018-08-25New bytecode implementation of mruby VM.Yukihiro "Matz" Matsumoto
2018-08-25Try to fix a fragile `File#mtime` test.Yukihiro "Matz" Matsumoto
2018-08-25Remove potential path to avoid uninitialized variable access.Yukihiro "Matz" Matsumoto
2018-08-25Simplify `mruby-inline-struct` tests.Yukihiro "Matz" Matsumoto
`gcc -O3` raises error on truncation using `snprintf`.
2018-08-25Fix misspelling words in commentsKazuhiro Sera
2018-08-25Reimplement `Hash#compact!` to conform the standard behavior.Yukihiro "Matz" Matsumoto
`Hash#compact!` should return `nil` if the receiver does not change.
2018-08-25Small refactoring.Yukihiro "Matz" Matsumoto
The macro `RCLASS_SUPER`, `RCLASS_IV_TBL` and `RCLASS_M_TBL` are removed from `include/mruby/class.h`.
2018-08-25Remove `nregs` member from `mrb_callinfo`.Yukihiro "Matz" Matsumoto
This means reducing one word per a call frame.
2018-08-25Should update `ci->env` to share the environment; fix #4073Yukihiro "Matz" Matsumoto