summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2021-02-15Merge pull request #5349 from ↵Yukihiro "Matz" Matsumoto
shuujii/remove-trailing-tab-in-build_config-dreamcast_shelf.rb Remove trailing tab in `build_config/dreamcast_shelf.rb` [ci skip]
2021-02-15Merge pull request #5353 from dearblue/editorconfigYukihiro "Matz" Matsumoto
Introduce EditorConfig [skip ci]
2021-02-14Introduce EditorConfig [skip ci]dearblue
2021-02-14Merge pull request #5348 from dearblue/optableYukihiro "Matz" Matsumoto
Place optable in ROM
2021-02-14Remove trailing tab in `build_config/dreamcast_shelf.rb` [ci skip]KOBAYASHI Shuji
2021-02-14Place optable in ROMdearblue
2021-02-13Merge pull request #5346 from jbampton/clean-up-lintersYukihiro "Matz" Matsumoto
refactor: add the spell checker Action to the Lint Action file
2021-02-13refactor: add the spell checker Action to the Lint Action fileJohn Bampton
Order jobs in workflow.
2021-02-13Merge pull request #5345 from jbampton/fix-missing-https-on-linksYukihiro "Matz" Matsumoto
chore: fix missing HTTPS on links
2021-02-13chore: fix missing HTTPS on linksJohn Bampton
2021-02-13Merge pull request #5342 from jbampton/fix-spellingYukihiro "Matz" Matsumoto
chore: fix spelling
2021-02-13chore: fix spellingJohn Bampton
Normally a single spell checker can't find all the mistakes or check all types of code. These mistakes were found by another spell checker inside my editor with a more manual sift / find.
2021-02-13Merge pull request #5341 from jbampton/check-for-trailing-whitespaceYukihiro "Matz" Matsumoto
feat(CI): check for trailing whitespace
2021-02-13feat(CI): check for trailing whitespaceJohn Bampton
Run on pull request only. Use a shell script to check for trailing whitespace in all files. Fail if trailing whitespace is found.
2021-02-13Merge pull request #5340 from jbampton/use-certified-actionsYukihiro "Matz" Matsumoto
refactor: only use certified GitHub Actions to increase security
2021-02-13refactor: only use certified GitHub Actions to increase securityJohn Bampton
Official -> "The individual jobs in a workflow can interact with (and compromise) other jobs. For example, a job querying the environment variables used by a later job, writing files to a shared directory that a later job processes, or even more directly by interacting with the Docker socket and inspecting other running containers and executing commands in them. This means that a compromise of a single action within a workflow can be very significant, as that compromised action would have access to all secrets configured on your repository, and can use the GITHUB_TOKEN to write to the repository. Consequently, there is significant risk in sourcing actions from third-party repositories on GitHub. " https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
2021-02-13Merge pull request #5339 from ↵Yukihiro "Matz" Matsumoto
shuujii/update-compile-prerequisites-in-doc-guides-compile.md Update compile prerequisites in `doc/guides/compile.md` [ci skip]
2021-02-13parse.y: string buffer (`tokbuf`) can overflow.Yukihiro "Matz" Matsumoto
Check if `esclen` is smaller than `len` (original string length).
2021-02-13Update compile prerequisites in `doc/guides/compile.md` [ci skip]KOBAYASHI Shuji
Bison and gperf are optional.
2021-02-12Update GitHub Actions.Yukihiro "Matz" Matsumoto
- Remove Ubuntu-16.04 - Add Ubuntu-20.04 {gcc,clang}
2021-02-12Merge pull request #5336 from shuujii/fix-build-mruby-catch-gem-without-presymYukihiro "Matz" Matsumoto
Fix build `mruby-catch` gem without presym
2021-02-12Merge pull request #5335 from ↵Yukihiro "Matz" Matsumoto
shuujii/add-UncaughtThrowError-tagvalue-for-Ruby-compatibility Add `UncaughtThrowError#{tag,value}` for Ruby compatibility
2021-02-12Merge pull request #5337 from shuujii/remove-skip-ci-hack-to-GitHub-ActionsYukihiro "Matz" Matsumoto
Remove "skip ci" hack to GitHub Actions [skip travis][skip appveyor]
2021-02-12Remove "skip ci" hack to GitHub Actions [skip travis][skip appveyor]KOBAYASHI Shuji
GitHub Actions now supports "skip ci" natively: https://github.blog/changelog/2021-02-08-github-actions-skip-pull-request-and-push-workflows-with-skip-ci/
2021-02-12Fix build `mruby-catch` gem without presymKOBAYASHI Shuji
2021-02-12Add `UncaughtThrowError#{tag,value}` for Ruby compatibilityKOBAYASHI Shuji
2021-02-12include/mruby/array.h: `ARY_LEN()` should return `mrb_int`.Yukihiro "Matz" Matsumoto
It used to return `mrb_ssize` but its size may differ from `mrb_int`, e.g. `MRB_INT64` on `MRB_32BIT` architecture.
2021-02-12doc/mruby3.md: use relative path.Yukihiro "Matz" Matsumoto
2021-02-12Merge pull request #5334 from ↵Yukihiro "Matz" Matsumoto
shuujii/avoid-possibility-of-reading-uninitialized-areas-in-h_check_modified Avoid possibility of reading uninitialized areas in `h_check_modified()`
2021-02-12Avoid possibility of reading uninitialized areas in `h_check_modified()`KOBAYASHI Shuji
In `h_check_modified()`, in the case of `MRB_NO_BOXING`, `ht_ea()` or `ht_ea_capa()` for AR may read uninitialized area. Therefore, do not use those macros for AR in `MRB_NO_BOXING` (but in the case of `MRB_64BIT`, `ht_ea_capa()` is the same as `ar_ea_capa()`, so use it). fix #5332
2021-02-12src/print.c: stop warning with `MRB_NO_STDIO`.Yukihiro "Matz" Matsumoto
2021-02-12Rename `mrb_sleep.c` to `sleep.c` in `mruby-sleep` gem.Yukihiro "Matz" Matsumoto
2021-02-12Update `docs/guides/mrbgems.md`; ref #5210Yukihiro "Matz" Matsumoto
Binary gems description added, along with a few cosmetic changes.
2021-02-12Do not collect linker options from binary gems; close #5210Yukihiro "Matz" Matsumoto
Binary gems are mrbgems that set `spec.bins` in their `mrbgem.rake`, and usually their names are prefixed with `mruby-bin-`.
2021-02-12Update `docs/guides/compile.md`.Yukihiro "Matz" Matsumoto
Especially description regarding the build process and `build` directory structures, along with some typo fixes and cosmetic changes.
2021-02-12Rename `mruby-catch.c` to `catch.c`; ref #5328Yukihiro "Matz" Matsumoto
2021-02-11Merge pull request #5333 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-heap-buffer-overflow-for-small-Hash-HT-in-Hash-rehash Fix heap-buffer-overflow for small `Hash` (HT) in `Hash#rehash`
2021-02-10Merge branch 'dearblue-mruby-catch'Yukihiro "Matz" Matsumoto
2021-02-10Refactor `mruby-catch`; ref #5328Yukihiro "Matz" Matsumoto
- Move `#catch` definition to `mruby-catch.c` to avoid tweaking - Remove `#__preserve_catch_method` - Implement whole `#throw` method in C
2021-02-10Fix heap-buffer-overflow for small `Hash` (HT) in `Hash#rehash`KOBAYASHI Shuji
### Example ##### example.rb ```ruby h = {} (1..17).each{h[_1] = _1} (1..16).each{h.delete(_1)} h.rehash ``` ##### ASAN report ```console $ bin/mruby example.rb ==52587==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000006998 at pc 0x55a29cddf96b bp 0x7fff7b1b1720 sp 0x7fff7b1b1710 READ of size 4 at 0x602000006998 thread T0 #0 0x55a29cddf96a in ib_it_next /mruby/src/hash.c:639 #1 0x55a29cde2ca2 in ht_rehash /mruby/src/hash.c:900 #2 0x55a29cde379f in h_rehash /mruby/src/hash.c:996 #3 0x55a29cde7f3d in mrb_hash_rehash /mruby/src/hash.c:1735 #4 0x55a29ce77b62 in mrb_vm_exec /mruby/src/vm.c:1451 #5 0x55a29ce5fa88 in mrb_vm_run /mruby/src/vm.c:981 #6 0x55a29ceb87e1 in mrb_top_run /mruby/src/vm.c:2874 #7 0x55a29cf36bdf in mrb_load_exec mrbgems/mruby-compiler/core/parse.y:6805 #8 0x55a29cf36f25 in mrb_load_detect_file_cxt mrbgems/mruby-compiler/core/parse.y:6848 #9 0x55a29cdba0a2 in main /mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c:347 #10 0x7f24ef43b0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) #11 0x55a29cdb4a6d in _start (/mruby/bin/mruby+0x2a3a6d) 0x602000006998 is located 0 bytes to the right of 8-byte region [0x602000006990,0x602000006998) allocated by thread T0 here: #0 0x7f24f01cfffe in __interceptor_realloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dffe) #1 0x55a29ceb9440 in mrb_default_allocf /mruby/src/state.c:68 #2 0x55a29cdba747 in mrb_realloc_simple /mruby/src/gc.c:228 #3 0x55a29cdba928 in mrb_realloc /mruby/src/gc.c:242 #4 0x55a29cde12e5 in ht_init /mruby/src/hash.c:749 #5 0x55a29cde2b8e in ht_rehash /mruby/src/hash.c:897 #6 0x55a29cde379f in h_rehash /mruby/src/hash.c:996 #7 0x55a29cde7f3d in mrb_hash_rehash /mruby/src/hash.c:1735 #8 0x55a29ce77b62 in mrb_vm_exec /mruby/src/vm.c:1451 #9 0x55a29ce5fa88 in mrb_vm_run /mruby/src/vm.c:981 #10 0x55a29ceb87e1 in mrb_top_run /mruby/src/vm.c:2874 #11 0x55a29cf36bdf in mrb_load_exec mrbgems/mruby-compiler/core/parse.y:6805 #12 0x55a29cf36f25 in mrb_load_detect_file_cxt mrbgems/mruby-compiler/core/parse.y:6848 #13 0x55a29cdba0a2 in main /mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c:347 #14 0x7f24ef43b0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) ```
2021-02-10Merge branch 'mruby-catch' of https://github.com/dearblue/mruby into ↵Yukihiro "Matz" Matsumoto
dearblue-mruby-catch
2021-02-09Upgrade supported Ruby version to 2.5.Yukihiro "Matz" Matsumoto
Ruby 2.5 is the oldest maintained version.
2021-02-08`i_gcd()` does not work for `MRB_INT_MIN`.Yukihiro "Matz" Matsumoto
2021-02-08Allow the case `MRB_32BIT` and `MRB_NO_BOXING` and `MRB_USE_FLOAT32`; #4382Yukihiro "Matz" Matsumoto
2021-02-08Merge pull request #5331 from ↵Yukihiro "Matz" Matsumoto
shuujii/explicit-top-level-task-to-clarify-in-tasks-test.rake Explicit top level task to clarify in `tasks/test.rake`
2021-02-07Explicit top level task to clarify in `tasks/test.rake`KOBAYASHI Shuji
2021-02-07Move `F(x)` definition inside of `#ifdef`; fix #5330Yukihiro "Matz" Matsumoto
2021-02-07Enlarge tolerance limit for `float32`; close #5329Yukihiro "Matz" Matsumoto
Along with some refactoring on `mruby-math` tests.
2021-02-07Fix tests to work with `MRB_USE_FLOAT32`; fix #5329Yukihiro "Matz" Matsumoto
2021-02-07Add `host-f32` config to test `MRB_USE_FLOAT32`; ref #5329Yukihiro "Matz" Matsumoto