summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2020-06-05Squashed commit of the following:Yukihiro "Matz" Matsumoto
commit 2d7d545c4c4bfce7fdcbcbe9baaeb437915742f0 Merge: 625a1249 b178914b Author: Yukihiro "Matz" Matsumoto <[email protected]> Date: Fri Jun 5 14:35:13 2020 +0900 Merge branch 'fix-mrb_open-with-nomem' of https://github.com/dearblue/mruby into dearblue-fix-mrb_open-with-nomem commit b178914b111dda79a8f36ec4eb3e9d37b76f982e Author: dearblue <[email protected]> Date: Sat Jan 19 22:22:44 2019 +0900 Fix invalid pointer free inside other heap's block 1. `e = mrb_obj_alloc(...)` 2. `e->stack = mrb->c->stack` (`mrb->c->stack` is anywhere in the range `stbase...stend`) 3. And raised exception by `mrb_malloc()`! 4. `mrb_free(e->stack)` by GC part (wrong free) commit 52e3d5d8585daf86af3ed12db5ab0efefbc9b956 Author: dearblue <[email protected]> Date: Sat Jan 19 21:55:36 2019 +0900 Fix memory leak for temporary symbols when out of memory commit 4c5499b88e47cc6012ad7d7379cb6bc74c6a0b60 Author: dearblue <[email protected]> Date: Sun Jan 20 11:42:07 2019 +0900 Fix uninitialized pointer dereference for debug section commit 8e993167dec62a9709d6faacd517729ddcedf4f9 Author: dearblue <[email protected]> Date: Sun Jan 20 11:41:09 2019 +0900 Fix memory leak for temporary filenames when out of memory commit 8b422577e6eae68a28121b88421d937e8707b487 Author: dearblue <[email protected]> Date: Sun Jan 20 10:57:51 2019 +0900 Fix memory leak for irep when out of memory commit 6b35ebf49a0aa3edb6bbda770ed58681e9c2e6af Author: dearblue <[email protected]> Date: Sun Jan 20 10:55:50 2019 +0900 Fix uninitialized pointer dereference when do not finished initializing irep commit 2531f2631e67e0462749618e2344c733a29238f0 Author: dearblue <[email protected]> Date: Sun Jan 20 10:48:15 2019 +0900 Fix NULL pointer dereference when do not finished initializing irep commit e2d6896ebad13694800af49c2625e106b8440ddf Author: dearblue <[email protected]> Date: Sat Jan 19 12:54:19 2019 +0900 Fix memory leak for irep when out of memory by `mrb_proc_new()` commit b6214ff8a0a1c73bc9554e39053878ac50bb683f Author: dearblue <[email protected]> Date: Sat Jan 19 12:53:07 2019 +0900 Fix memory leak for `khash_t` in `kh_init_size()` when out of memory by `kh_alloc()` commit 19162dd6c11f0093d0011e7cab83b8f9e84c2c07 Author: dearblue <[email protected]> Date: Sun Jan 20 02:15:07 2019 +0900 Fix memory leak for symbol string when out of memory in `kh_put()` commit 15e67297ff54bc14ef359d6d1e745d760a4a255a Author: dearblue <[email protected]> Date: Sun Jan 20 02:12:24 2019 +0900 Fix keep wrong symbol index when out of memory commit 3f8e2b375244f5441e8d62efa13c6e6a9afecb14 Author: dearblue <[email protected]> Date: Sun Jan 20 02:08:13 2019 +0900 Fix keep wrong symbol capacity when out of memory commit a3cfe755ab3e758046c3f4e30938ac8d567ed046 Author: dearblue <[email protected]> Date: Sat Jan 19 10:11:37 2019 +0900 Fix NULL pointer dereference `mrb->c` by `mark_context()` commit d9c7b6be6eb54630b64eea5c35be241e551676e5 Author: dearblue <[email protected]> Date: Sun Jan 20 15:25:09 2019 +0900 Fix protect exception for print error message commit 100642750e4d549f2e8050f8d6cabdf8825d4495 Author: dearblue <[email protected]> Date: Sun Jan 20 11:59:02 2019 +0900 Protect exception for mruby core initialization commit 7a0418304ec70764fa215bef3599f5f735222075 Author: dearblue <[email protected]> Date: Fri Jan 18 20:38:27 2019 +0900 Fix memory leak for string object when out of memory The `mrb_str_pool()` function has a path to call `malloc()` twice. If occurs `NoMemoryError` exception in second `malloc()`, first `malloc()` pointer is not freed. commit fef1c152ce4e52b9e4a34dc23aca5b02907ac639 Author: dearblue <[email protected]> Date: Sat Jan 19 13:05:09 2019 +0900 Fix stack overflow when out of memory As a result of this change, no backtrace information is set for NoMemoryError (`mrb->nomem_err`). Detailes: When generating a backtrace, called `mrb_intern_lit()`, `mrb_str_new_cstr()` and `mrb_obj_iv_set()` function with `exc_debug_info()` function in `src/error.c`. If a `NoMemoryError` exception occurs at this time, the `exc_debug_info()` function will be called again, and in the same way `NoMemoryError` exception raised will result in an infinite loop to occurs stack overflow (and SIGSEGV). commit da7d7f881bbbad9988a3a2b7bad8f2b72ff06bc6 Author: dearblue <[email protected]> Date: Sun Jan 20 12:00:38 2019 +0900 Fix NULL pointer dereference `mrb->nomem_err` when not initialized Add internal functions (not `static`): * `mrb_raise_nomemory()` * `mrb_core_init_abort()`
2020-06-05Change arena index from `mrb_int` to `int`.Yukihiro "Matz" Matsumoto
2020-06-05Merge pull request #5019 from mruby/stableYukihiro "Matz" Matsumoto
Merge mruby 2.1.1
2020-06-05Merge master.Hiroshi Mimaki
2020-06-04Remove `rake -v` option from GitHub Actions.Yukihiro "Matz" Matsumoto
2020-06-04Ignore files for `clangd`.Yukihiro "Matz" Matsumoto
- `compile_flags.txt' - `compile_commands.json`
2020-06-04Remove `bison` installation from GitHub Actions.Yukihiro "Matz" Matsumoto
2020-06-04Update release date.2.1.1Hiroshi Mimaki
2020-06-04Add explicit cast to `DROP_PRECISION` macro in `rtional.c`.Yukihiro "Matz" Matsumoto
2020-06-04Add `mruby-complex` and `mruby-rational` to `default.gembox`.Yukihiro "Matz" Matsumoto
2020-06-04Add explicit cast to silence warnings on AppVeyor.Yukihiro "Matz" Matsumoto
2020-06-04Merge pull request #4865 from take-cheeze/istruct_alignYukihiro "Matz" Matsumoto
Align RIStruct data for rational/complex
2020-06-04Add `.ccls*` to `.gitignore`.Yukihiro "Matz" Matsumoto
2020-06-03Merge branch 'dearblue-hide-func'; merge #4937Yukihiro "Matz" Matsumoto
2020-06-03Hiding method implementation C functions in mruby-iodearblue
2020-06-03Merge pull request #4800 from ↵Yukihiro "Matz" Matsumoto
shuujii/set-MRB_STR_ASCII-flag-to-some-stringize-methods Set `MRB_STR_ASCII` flag to some stringize methods
2020-06-02Merge branch 'dearblue-eval-patchfree'; close #5016Yukihiro "Matz" Matsumoto
2020-06-02Remove `patch_irep()` in `mruby-eval`dearblue
- It can now deal with operands in the range of `OP_EXT*`. - It can now call the same method as the variable name without arguments. ```ruby def a "Safe!" end a = "Auto!" eval "a()" # call method `a` ```
2020-06-01Add `mruby-eval` to `default.gembox`.Yukihiro "Matz" Matsumoto
2020-06-01Merge pull request #5014 from dearblue/local_variablesYukihiro "Matz" Matsumoto
Get local variable names from orphan block; ref #3710
2020-06-01Merge pull request #5017 from RoryO/masterYukihiro "Matz" Matsumoto
Fix float constant redefinition warnings
2020-05-31Fix float constant redefinition warningsRory OConnell
2020-05-31Get local variable names from orphan block; ref #3710dearblue
2020-05-28Check `c->eidx` before decrement in `ecall()`; close #4977Yukihiro "Matz" Matsumoto
2020-05-27Merge pull request #5011 from ↵Yukihiro "Matz" Matsumoto
shuujii/respect-CFLAGS-CXXFLAGS-and-LDFLAGS-env-vars-in-appveyor_config.rb Respect CFLAGS, CXXFLAGS, and LDFLAGS env vars in appveyor_config.rb
2020-05-27Respect CFLAGS, CXXFLAGS, and LDFLAGS env vars in appveyor_config.rbKOBAYASHI Shuji
[skip travis]
2020-05-27Move `fmt_setup` until absolutely necessary.Yukihiro "Matz" Matsumoto
2020-05-26Integer format can be bigger than `32` on 64bit platforms.Yukihiro "Matz" Matsumoto
We made it `64` which should be big enough: - Format modifier: 4 characters max - Maximum width: 19 digits max - Period between width and precision: 1 character - Maximum precision: 19 digits max - Format specifier: 1 character - NUL terminator: 1 byte - Total: 45 < 64
2020-05-26Merge pull request #5010 from udzura/patch-1Yukihiro "Matz" Matsumoto
Detect newly added mrbgems when re-creating gem_init.c
2020-05-26Detect newly added mrbgems when re-creating gem_init.cKondo Uchio
2020-05-26Merge pull request #5009 from ↵Yukihiro "Matz" Matsumoto
shuujii/removed-Bison-related-settings-from-.travis.yml-and-appveyor.yml Removed Bison related settings from `.travis.yml` and `appveyor.yml`
2020-05-26Merge pull request #5008 from shuujii/revert-part-of-Start-GitHub-ActionsYukihiro "Matz" Matsumoto
Revert part of "Start GitHub Actions" (4ce3997c)
2020-05-26Removed Bison related settings from `.travis.yml` and `appveyor.yml`KOBAYASHI Shuji
2020-05-26Revert part of "Start GitHub Actions" (4ce3997c)KOBAYASHI Shuji
Because some changes have been overridden.
2020-05-26Specify the latest `bison` on macOS; ref #4903Yukihiro "Matz" Matsumoto
2020-05-26Merge pull request #5007 from ↵Yukihiro "Matz" Matsumoto
shuujii/add-y.tab.c-to-remove-Bison-from-build-dependencies Add `y.tab.c` to remove Bison from build dependencies; ref 4ce3997c
2020-05-25Add `y.tab.c` to remove Bison from build dependencies; ref 4ce3997cKOBAYASHI Shuji
I sometimes see Bison related problems in setting up build environments. Therefore to remove Bison from build time dependencies, add `y.tab.c` generated by Bison to the repository. The reduction of dependency at build time also reduces the labor and time for setup and installation in CI. In addition, a path in `#line` directive is converted to a relative path so that its path is constant regardless of development environments.
2020-05-24Use the newer `bison` on GitHub actions macOS; ref #4903Yukihiro "Matz" Matsumoto
`Windows-MinGW` and `Windows-VC` also requires updates.
2020-05-24Start GitHub Actions; close #4903Takeshi Watanabe
2020-05-24Merge pull request #5006 from mame/fix-send-with-splat-argsYukihiro "Matz" Matsumoto
Do not destruct rest arguments for __send__
2020-05-24Do not destruct rest arguments for __send__Yusuke Endoh
Formerly, `__send__(*args)` modified `args` with `Array#shift`. This bug affects optcarrot. This changeset avoids the array destruction by using `args = args[1, len-1]`.
2020-05-20Merge pull request #5003 from shuujii/retry-rake--m-on-AppVeyorYukihiro "Matz" Matsumoto
Retry `rake -m` on AppVeyor [skip travis]
2020-05-20Retry `rake -m` on AppVeyor [skip travis]KOBAYASHI Shuji
The following error occurs when using `rake -m` on AppVeyor: ``` fatal error C1041: cannot open program database 'C:\projects\mruby\vc140.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS ``` Therefore, the issue is solved by not creating the PDB file. It is expected to be somewhat faster by not generating debugging information (I don't think debugging information is necessary for normal CI).
2020-05-19Revert "Use `rake -m` (multi-task) to `appveyor.yml`."Yukihiro "Matz" Matsumoto
This reverts commit ac68c90800e5fab3ab4e00a3086101b3cbf1c379. `rake -m` does not work for VisualC.
2020-05-19Use `rake -m` (multi-task) to `appveyor.yml`.Yukihiro "Matz" Matsumoto
2020-05-19Merge pull request #5002 from RoryO/masterYukihiro "Matz" Matsumoto
Adding warnings for mrb_load functions leaking RProc objects
2020-05-19Adding warnings for mrb_load functions leaking RProc objectsRory OConnell
2020-05-15Merge pull request #5000 from ↵Yukihiro "Matz" Matsumoto
shuujii/unify-eql-receiver-in-Hash-according-to-Ruby Unify `eql?` receiver in `Hash` according to Ruby
2020-05-15Unify `eql?` receiver in `Hash` according to RubyKOBAYASHI Shuji
### Example ```ruby # example.rb class A def eql?(o) p self.class super end def hash 1 end end class B < A; end h = {A.new => 1} h[B.new] ``` #### Before this patch: ```console $ bin/mruby example.rb A ``` #### After this patch (same as Ruby) ```console $ bin/mruby example.rb B ```
2020-05-15Rename C function `mrb_proc_lambda`.Yukihiro "Matz" Matsumoto