Age | Commit message (Collapse) | Author |
|
ext/socket/init.c: do not return uninitialized buffer
Resize string buffer only if some data is received in
BasicSocket#read_nonblock and some methods.
Co-Authored-By: Samuel Williams <samuel.williams@oriontransfer.co.nz>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
fix for CVE-2020-10663.
The patch was provided by Jeremy Evans.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
86022167461dc90b70164e2bb23316959bbfd6ba,47a1872cd8b901b8aab6dedce7fa3807c97d290d: [Backport #16681]
Switch to download libffi source package to github releases from
sourceware.org
Use osuosl instead of GitHub releases
Because the package provided by GitHub releases is different from sourceware.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
203b7fa1ae8cc40d41c38d684f70b3fea7fae813,0131fab749fb76800de09e49a6abf910201c5b58,9c0cd5c569ba22bc68d1a77ad6580a275cd99639,c144d7215b3444fa36d28d540b60170a5b30743d: [Backport #16196]
Guard static variable first
* ext/openssl/ossl_asn1.c (Init_ossl_asn1): register the static
variable to grab an internal object, before creating the object.
otherwise the just-created object could get collected during the
global variable list allocation. [Bug #16196]
Slimed down test runtime by stressing openssl.so only [Bug #16196]
Prefer rb_gc_register_mark_object
* ext/openssl/ossl_asn1.c (Init_ossl_asn1): prefer
`rb_gc_register_mark_object`, which is better for constant
objects, over `rb_gc_register_address` for global/static
variables which can be re-assigned at runtime. [Bug #16196]
Skip very time consuming test [Bug #16196]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
atime may not updated unless strictatime is set on macOS Catalina
Cited from mount(8):
```
strictatime
Always update the file access time when reading from a
file. Without this option the filesystem may default to a
less strict update mode, where some access time updates
are skipped for performance reasons. This option could be
ignored if it is not supported by the filesystem.
```
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
fix VC 2013 compile error
It seems the compiler does not support VLAs.
See also: https://ci.appveyor.com/project/ruby/ruby/builds/26392589/job/px6nuiuw4e78weg1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
5d33f787169bcc3594d2264726695d58c4a06899,8b162ce9d1003e4e469d8f48cb9a2076fd45b47c: [Backport #14834]
fix tracepoint + backtrace SEGV
PC modification in gc_event_hook_body was careless. There are (so
to say) abnormal iseqs stored in the cfp. We have to check sanity
before we touch the PC.
This has not been fixed because there was no way to (ab)use the
setup from pure-Ruby. However by using our official C APIs it is
possible to touch such frame(s), resulting in SEGV.
Fixes [Bug #14834].
Fix assertion failure when VM_CHECK_MODE
Some VM frames (dummy and top pushed by `rb_vm_call_cfunc`) has
iseq but has no pc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
3f9562015e651735bfc2fdd14e8f6963b673e22a,c06ddfee878524168e4af07443217ed2f8d0954b,3b3b4a44e57dfe03ce3913009d69a33d6f6100be: [Backport #15792]
Get rid of indirect sharing
* string.c (str_duplicate): share the root shared string if the
original string is already sharing, so that all shared strings
refer the root shared string directly. indirect sharing can
cause a dangling pointer.
[Bug #15792]
str_duplicate: Don't share with a frozen shared string
This is a follow up for 3f9562015e651735bfc2fdd14e8f6963b673e22a.
Before this commit, it was possible to create a shared string which
shares with another shared string by passing a frozen shared string
to `str_duplicate`.
Such string looks like:
```
-------- -----------------
| root | ------ owns -----> | root's buffer |
-------- -----------------
^ ^ ^
----------- | |
| shared1 | ------ references ----- |
----------- |
^ |
----------- |
| shared2 | ------ references ---------
-----------
```
This is bad news because `rb_fstring(shared2)` can make `shared1`
independent, which severs the reference from `shared1` to `root`:
```c
/* from fstr_update_callback() */
str = str_new_frozen(rb_cString, shared2); /* can return shared1 */
if (STR_SHARED_P(str)) { /* shared1 is also a shared string */
str_make_independent(str); /* no frozen check */
}
```
If `shared1` was the only reference to `root`, then `root` can be
reclaimed by the GC, leaving `shared2` in a corrupted state:
```
----------- --------------------
| shared1 | -------- owns --------> | shared1's buffer |
----------- --------------------
^
|
----------- -------------------------
| shared2 | ------ references ----> | root's buffer (freed) |
----------- -------------------------
```
Here is a reproduction script for the situation this commit fixes.
```ruby
a = ('a' * 24).strip.freeze.strip
-a
p a
4.times { GC.start }
p a
```
- string.c (str_duplicate): always share with the root string when
the original is a shared string.
- test_rb_str_dup.rb: specifically test `rb_str_dup` to make
sure it does not try to share with a shared string.
[Bug #15792]
Closes: https://github.com/ruby/ruby/pull/2159
Update dependencies
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
66745,67397,67398,67399,67400,67409,67410,67411,67412,67425,67426,67473,67474: [Backport #15742]
Bump version to date-2.0.0.
I forgot to change it when Ruby 2.6.0 was released.
date_parse.c: extract Japanese era initials
* expand tabs.
date_parse.c: removed 'r' which is not in JIS X 0301 yet
Added tests for end of Heisei
date: use del_hash to extract an element destructively
* expand tabs.
date_parse.c: renamed JAPANESE prefix as JISX0301
date_parse.c: name JISX0301_DEFAULT_ERA
date: make zone a substring to copy encoding and taintedness
* expand tabs.
date_core.c: [DOC] Heisei will be assumed if no-era [ci skip]
date: support for Reiwa, new Japanese era
[Feature #15742]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
ext/openssl/ossl_bn.c (ossl_bn_initialize): get rid of SEGV
OpenSSL::BN.new(nil, 2) dumped core.
[ruby-core:92231] [Bug #15760]
* expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
numeric.c: fix infinite loop
* numeric.c (int_pow): fix infinite loop in the case of y equal 1
and power of x does not overflow.
[ruby-core:91734] [Bug #15651]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Add ignored_sp event
* ext/ripper/lib/ripper/lexer.rb (Ripper::Lexer): add ignored_sp
event which will be fired from Ripper::Lexer#on_heredoc_dedent
method. [ruby-core:91727] [Bug #15648]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Fix PTY.open on OpenBSD [Bug #15607]
From: Jeremy Evans <code@jeremyevans.net>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Follow behaviour of IO#ungetbyte
see r65802 and [Bug #14359]
* expand tabs.
setbyte / ungetbyte allow out-of-range integers
* string.c: String#setbyte to accept arbitrary integers [Bug #15460]
* io.c: ditto for IO#ungetbyte
* ext/strringio/stringio.c: ditto for StringIO#ungetbyte
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Bump version to date-2.0.0.
I forgot to change it when Ruby 2.6.0 was released.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
io-console: bump to 0.4.7
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Import bigdecimal 1.4.1
* https://github.com/ruby/bigdecimal/compare/v1.4.0..v1.4.1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* https://github.com/ruby/bigdecimal/compare/v1.4.0.pre.20181220a..v1.4.0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* https://github.com/ruby/bigdecimal/compare/v1.4.0.pre.20181214a..v1.4.0.pre.20181220a
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
It wrongly used all linenos of ISeq#trace_points which includes not only
line events but also call, return, and other events. So, the result
included some linenos that can not be covered at all by line coverage.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
I reconsidered because simpler code would have better maintainablity.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[Fix GH-2049]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This reverts commit 298180f0450df6e975057cc7e90b3ae3248586fc.
It looks like we should not expand ext/nkf:
https://git.ruby-lang.org/ruby-commit-hook.git/commit/?id=91fd9708b7cf04a4dcddd9614c24e27ddef5d43b
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* https://github.com/ruby/bigdecimal/compare/v1.4.0.pre.20181205a..v1.4.0.pre.20181214a
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Do not apply RSTRING_PTR, a macro which evaluats its argument
multiple times, on a function call.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
For ActiveSupport. [ruby-core:90443] [Bug #15403]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Following methods use corresponding File class methods
instead of IO class methods.
- Pathname#each_line
- Pathname#read
- Pathname#binread
- Pathname#write
- Pathname#binwrite
- Pathname#readlines
Reported by ooooooo_q.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/date/date_core.c (Init_date_core): moved methods which make
sense only for DateTime to that class, instead of defining
private methods in Date and making them public in DateTime.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/date/date_core.c (ComplexDateData): reordered to adjust
common part with SimpleDateData.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Apparently, a component of Rails implements a buffering .write
method which keeps the String buffer around and makes it unsafe
for us to clear it after calling .write.
This caused Rack::Deflater to give empty results when enabled.
Fortunately, per r61631 / a55abcc0ca6f628fc05304f81e5a044d65ab4a68,
this misguided optimization was only worth a small (0.5MB) savings
and we still benefit from the majority of the memory savings in
that change.
Thanks to zunda for the bug report.
[ruby-core:90133] [Bug #15356]
Fixes: r61631 (commit a55abcc0ca6f628fc05304f81e5a044d65ab4a68)
("zlib: reduce garbage on gzip writes (deflate)")
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* https://github.com/ruby/bigdecimal/compare/74d25ef..v1.4.0.pre.20181205a
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* Revert "Remove unnecessary linker flags"
This reverts commit 49efa01579272d52d28bd361c498d96ca92e986e.
* Revert "Move dependency on gemspec"
This reverts commit bfb64d476578eadd61a738149726da37840f068d.
* Revert "Remove unnecessary directory listing"
This reverts commit 86661b5c60b8da6e5641c9c772b57857a1f988f4.
* Revert "* expand tabs."
This reverts commit 35ada33f8386b56611f10b1a0a4e5667e9b08071.
* Revert "Import bigdecimal-1.4.0.pre-20181204a"
This reverts commit 8891bb3bd602bdbabd24260cf1e431475dc027c8.
* Revert "ext/bigdecimal/bigdecimal.c: drop unused function"
This reverts commit 5ceeea4da1179193c2c7ddcebfd67019128473e3.
* Revert "* expand tabs."
This reverts commit e021386e905b6d6799a84dfbc2f0592e42626366.
* Revert "Import bigdecimal-1.4.0.pre-20181130a"
This reverts commit a0e438cd3c28d2eaf4efa18243d5b6edafa14d88.
* Revert "NEWS: write about bigdecimal updates"
This reverts commit 89455ff2ba973f2a9ee7b79657e0e6f1f31501f9.
* Revert "Fix rubyspec of bigdecimal for ruby <2.6"
This reverts commit 4bcdeeb65e57de4da306d347652898c767162e74.
* Revert "Fix rubyspec against bigdecimal updates"
This reverts commit c8fb30fc9e0ee14e87be1e231869a12aaef1eedf.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* https://github.com/ruby/psych/pull/379
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Cygwin/mingw linker should be able to link against shared library
itself. Mswin build sets -def:$(DEFFILE) option by the default.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* https://github.com/ruby/bigdecimal/compare/v1.4.0.pre.20181130a..v1.4.0.pre.20181204a
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This has been unused since r66124.
cc: @mrkn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|