Граф коммитов

78260 Коммитов

Автор SHA1 Сообщение Дата
Peter Zhu d3ff43852b Fix memory leak in Hash#replace
Hash#replace can leak memory if the receiver has an ST table.
2023-06-29 19:07:26 -04:00
Jemma Issroff 1272865a8e
Fix broken wiki links (#8002)
Since [Misc #19679] migrated the wiki, these links should be updated
to their new locations.
2023-06-29 17:00:40 -04:00
Peter Zhu bf2c18731d Add memory leak test for allocating ST hashes
Test for commit f0d08d11dc.
2023-06-29 11:52:48 -04:00
Peter Zhu f0d08d11dc Fix memory leak when copying ST tables
st_copy allocates a st_table, which is not needed for hashes since it is
allocated by VWA and embedded, so this causes a memory leak.

The following script demonstrates the issue:

```ruby
20.times do
  100_000.times do
    {a: 1, b: 2, c: 3, d: 4, e: 5, f: 6, g: 7, h: 8, i: 9}
  end

  puts `ps -o rss= -p #{$$}`
end
```
2023-06-29 11:16:50 -04:00
Peter Zhu df2b3a2998 Refactor rb_hash_replace to use hash_copy 2023-06-29 11:16:50 -04:00
Nobuyoshi Nakada 3cfcd3d166
Ripper sources are generated at once 2023-06-29 23:08:08 +09:00
Nobuyoshi Nakada c89f519170
More dependencies for ripper 2023-06-29 18:47:56 +09:00
Hiroshi SHIBATA c7af39ecd8
Merge URI-0.12.2 for Bundler 2023-06-29 17:47:45 +09:00
卜部昌平 4aa73f8f8a proper path
Source code is not always checked out to `.`.  We need to specify
the exact place where the action.yml file is located.
2023-06-29 16:58:11 +09:00
卜部昌平 48e646fd96 refactor extract ${{ ghithub }} expressions
Use composite action to reduce copy & paste.
2023-06-29 16:58:11 +09:00
Kevin Newton 26b69fd407 [ruby/yarp] Handle bad input for ascii printable
https://github.com/ruby/yarp/commit/06242aa7a0
2023-06-29 01:23:37 +00:00
git a6cc1fa5cf Update default gems list at ab5421547c [ci skip] 2023-06-29 01:08:30 +00:00
Hiroshi SHIBATA ab5421547c [ruby/uri] Bump up v0.12.2
https://github.com/ruby/uri/commit/e18e657ea8
2023-06-29 01:07:52 +00:00
Nobuyoshi Nakada 995ce947be [ruby/uri] Fix quadratic backtracking on invalid port number
https://hackerone.com/reports/1958260

https://github.com/ruby/uri/commit/9d7bcef1e6
2023-06-29 01:07:52 +00:00
Nobuyoshi Nakada 1eff362492 [ruby/uri] Fix quadratic backtracking on invalid relative URI
https://hackerone.com/reports/1958260

https://github.com/ruby/uri/commit/9010ee2536
2023-06-29 01:07:51 +00:00
卜部昌平 d4b662d6f8 template/Doxyfile.tmpl: modernise
applied doxygen -g for Doxygen 1.9.7.
2023-06-29 09:27:12 +09:00
Peter Zhu 27d3fa2af0 Increase memory leak test timeout
The test times out on some platforms, so increase the timeout.
2023-06-28 13:47:48 -04:00
tomoya ishida 78ecb93f9d [ruby/irb] Reduce test pend truffleruby
(https://github.com/ruby/irb/pull/619)

https://github.com/ruby/irb/commit/b7b071774f
2023-06-28 17:33:20 +00:00
BurdetteLamar 8f9d58a962 Repair broken link 2023-06-28 12:01:16 -04:00
Peter Zhu a500eb9f8c Fix memory leak in Ripper
The following script leaks memory in Ripper:

```ruby
require "ripper"

20.times do
  100_000.times do
    Ripper.parse("")
  end

  puts `ps -o rss= -p #{$$}`
end
```
2023-06-28 09:50:51 -04:00
Nobuyoshi Nakada 3d7a6bbc12 Ensure the byte position is a valid boundary 2023-06-28 22:42:04 +09:00
Burdette Lamar 6528cf9fcf
[DOC] Fixes for link fragments (#7981) 2023-06-28 09:05:43 -04:00
Nobuyoshi Nakada bc3ac1872e [Bug #19748] Fix out-of-bound access in `String#byteindex` 2023-06-28 17:23:32 +09:00
git 715c5ca4a4 Update default gems list at b954a4ebc6 [ci skip] 2023-06-28 07:53:31 +00:00
Sutou Kouhei b954a4ebc6 [ruby/csv] Bump version
https://github.com/ruby/csv/commit/e090da19b4
2023-06-28 16:37:10 +09:00
Sutou Kouhei d6d60d4287 [ruby/csv] Fix a bug that the same line is used multiple times
GitHub: fix https://github.com/ruby/csv/pull/279

It's happen when:

* `keep_start`/`keep_{drop,back}` are nested.
  (e.g.: `strip: true, skip_lines: /.../`)
* Row separator is `\r\n`.
* `InputScanner` is used. (Small input doesn't use `InputScanner`)

Reported by Gabriel Nagy. Thanks!!!

https://github.com/ruby/csv/commit/183635ab56
2023-06-28 16:37:10 +09:00
Sutou Kouhei 539559d36e [ruby/csv] Remove nonexistent variable
https://github.com/ruby/csv/commit/bfbd6bbf6f
2023-06-28 16:37:09 +09:00
Sutou Kouhei 1f46793406 [ruby/csv] parser: add one more trace
https://github.com/ruby/csv/commit/5df650be0c
2023-06-28 16:37:09 +09:00
Mark Schneider 2098093fb4 [ruby/csv] docs: Add entry for backslash_quotes liberal parsing
(https://github.com/ruby/csv/pull/280)

https://github.com/ruby/csv/commit/0dcfcd9c48
2023-06-28 16:37:08 +09:00
Jean byroot Boussier f1313caec1 [ruby/fiddle] Mark Closure, Function and Handle as write barrier
protected
(https://github.com/ruby/fiddle/pull/129)

They don't have a mark function, so they don't need any change.

https://github.com/ruby/fiddle/commit/9bbc732aef

Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
2023-06-28 16:36:53 +09:00
Jean byroot Boussier 135d5fa36c [ruby/fiddle] Implement write barriers for Fiddle::Pointer
(https://github.com/ruby/fiddle/pull/127)

Save from having to mark them on every minor.

https://github.com/ruby/fiddle/commit/153c09c99f

Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
2023-06-28 16:36:52 +09:00
Sutou Kouhei 572b432e50 [ruby/fiddle] Fix a typo
https://github.com/ruby/fiddle/commit/4c0c5da1a5
2023-06-28 16:36:52 +09:00
Sutou Kouhei 02661f5e9b [ruby/fiddle] Add support for converting "C" (one character string) to char
GitHub: fix https://github.com/ruby/fiddle/pull/96

I wanted to add a test for this but I couldn't find a function that
has a "char" argument in libc...

Reported by kojix2. Thanks!!!

https://github.com/ruby/fiddle/commit/2c863ef8ba
2023-06-28 16:36:51 +09:00
Sutou Kouhei 74e049294e [ruby/fiddle] Add support for more "short" variants
https://github.com/ruby/fiddle/commit/4598e6cd50
2023-06-28 16:36:51 +09:00
Sutou Kouhei 731d27729b [ruby/fiddle] Add support for more "short" variants
https://github.com/ruby/fiddle/commit/2b22bb9d74
2023-06-28 16:36:50 +09:00
Sutou Kouhei ebf14d01ba [ruby/fiddle] Add support for "long" variants
GitHub: fix https://github.com/ruby/fiddle/pull/100

Reported by David M. Lary. Thanks!!!

https://github.com/ruby/fiddle/commit/516333dd78
2023-06-28 16:36:50 +09:00
Aaron Patterson 85937f3a0a [ruby/fiddle] Add a helper method for reading/writing memory
(https://github.com/ruby/fiddle/pull/123)

This commit adds two new methods, `Fiddle::Pointer.read` and
`Fiddle::Pointer.write`. Both methods take an address, and will read or
write bytes at that address respectively.

For example we can read from an address without making a Pointer object:

```ruby
Fiddle::Pointer.read(address, 5) # read 5 bytes
```

We can also write to an address without allocating a Pointer object:

```ruby
Fiddle::Pointer.write(address, "bytes") # write 5 bytes
```

This allows us to read / write memory at arbitrary addresses without
instantiating a new `Fiddle::Pointer` object.

Examples where this API would be useful
[1](f03481d28b/lib/tenderjit/fiddle_hacks.rb (L26-L28))
[2](77c8daa2d4/lib/ruby_vm/rjit/c_pointer.rb (L193))
[3](77c8daa2d4/lib/ruby_vm/rjit/c_pointer.rb (L284))

I also added a writer method for the same reasons as the reader.

---------

https://github.com/ruby/fiddle/commit/04238cefed

Co-authored-by: Sutou Kouhei <kou@clear-code.com>
2023-06-28 16:36:49 +09:00
Nobuyoshi Nakada ae71bbbc44 [ruby/syntax_suggest] [DOC] Fix method name
https://github.com/ruby/syntax_suggest/commit/08a9afb64f
2023-06-28 16:34:53 +09:00
Nobuyoshi Nakada 0cbfeb8210 [Bug #19746] `String#index` with regexp should clear `$~` unless matched 2023-06-28 14:06:28 +09:00
Nobuyoshi Nakada 9e709d0f4a Assert `$~` after `String#index` family 2023-06-28 14:06:28 +09:00
dependabot[bot] f177d35ba8 Bump dependabot/fetch-metadata from 1.5.1 to 1.6.0
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.5.1 to 1.6.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](cd6e996708...c9c4182bf1)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-28 12:42:25 +09:00
Nobuyoshi Nakada 3e08a53655
Use the same capacities for memory leak tests 2023-06-28 09:23:15 +09:00
tomoya ishida 8aedfefb21 [ruby/irb] Remove keyword exception from Context#evaluate because
the value is always nil
(https://github.com/ruby/irb/pull/617)

https://github.com/ruby/irb/commit/62691384f8
2023-06-27 20:43:53 +00:00
Stan Lo caddd0274b [ruby/irb] Move input line mutation out of `Context#evaluate`
(https://github.com/ruby/irb/pull/615)

This makes sure `Context#evaluate` really just evaluates the input.
It will also make #575's implementation cleaner.
2023-06-27 19:51:18 +00:00
Nobuyoshi Nakada 913e01e80e
Stop allocating unused backref strings at `defined?` 2023-06-27 23:14:10 +09:00
Nobuyoshi Nakada df5ae0a550
Use `rb_reg_nth_defined` instead of `rb_match_nth_defined` 2023-06-27 22:39:15 +09:00
tomoya ishida eaad44adb2 [ruby/irb] Always add \n at the end of the test input in RubyLex
test
(https://github.com/ruby/irb/pull/614)

https://github.com/ruby/irb/commit/e68c6128aa
2023-06-27 10:19:03 +00:00
Hiroshi SHIBATA 9dd8698597 [rubygems/rubygems] Fixup
https://github.com/rubygems/rubygems/pull/6766

https://github.com/rubygems/rubygems/commit/c5c5797227
2023-06-27 07:37:24 +00:00
Hiroshi SHIBATA a99d0c1555 [rubygems/rubygems] Removed unused variable
https://github.com/rubygems/rubygems/commit/68cc941bed
2023-06-27 02:15:40 +00:00
Hiroshi SHIBATA 65c2179336 [rubygems/rubygems] Molinillo::DependencyGraph is initialized in Molinillo::Resolver#resolve
https://github.com/rubygems/rubygems/commit/1c39e24c95
2023-06-27 02:15:40 +00:00