summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2019-08-28merge revision(s) 4e038a7e64a9d52eed59b8f05647d4e58d265ec3: [Backport #5400]nagachika
Revert "parse.y: Deprecate flip-flops" This reverts commit bae638ad5b782c44c80efe33834cb9039279af46. [Feature #5400] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-27Update rdoc version from 6.1.0 to 6.1.2.nagachika
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-18merge revision(s) d5c33364e3c0efb15e11df417c925afee2cdb9c9: [Backport #16105]nagachika
Fixed heap-use-after-free * string.c (rb_str_sub_bang): retrieves a pointer to the replacement string buffer just before using it, for the case of replacement with the receiver string itself. [Bug #16105] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-18merge revision(s) 5b1bf8dd2d08ae7371ecf025967376bb794ed651: [Backport #16099]nagachika
UTF LE is fixed at least the first 2 bytes * io.c (io_strip_bom): if the first 2 bytes are 0xFF0xFE, it should be a little-endian UTF, 16 or 32. [Bug #16099] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-18merge revision(s) ↵nagachika
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
2019-08-18merge revision(s) df317151a5b4e0c5a30fcc321a9dc6abad63f7ed: [Backport #16019]nagachika
should not free local hook_list here. exec_hooks_postcheck() clean executed hook_list if it is needed. list_exec is freed if there are no events and this list is local event (connected to specific iseq). However, iseq keeps to point this local hook_list, freed list. To prevent this situation, do not free hook_list here even if it has no events. This issue is reported by @joker1007. https://twitter.com/joker1007/status/1153649170797830144 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-18merge revision(s) ↵nagachika
f1b76ea63ce40670071a857f408a4747c571f1e9,1d1f98d49c9908f4e3928e582d31fd2e9f252f92: [Backport #16024] Occupy match data * string.c (rb_str_split_m): occupy match data not to be modified during yielding the block. [Bug #16024] Reuse match data * string.c (rb_str_split_m): reuse occupied match data. [Bug #16024] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-11merge revision(s) ↵nagachika
8aecc90974ab1ac87056f77e2cb3406c5c041504,2f6cc15cdb3d64135b29cfd5ee376a5a03ebbee7: [Backport #15965] Hoisted out WIDE_ENCODINGS Fixed String#grapheme_clusters with wide encodings * string.c (get_reg_grapheme_cluster): make regexp from properly encoded sources fro wide-char encodings. [Bug #15965] * regparse.c (node_extended_grapheme_cluster): suppress false duplicated range warning for the time being. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-09merge revision(s) ↵nagachika
ec8e5f5aa64e2a54cf1e303f2b012c98e8d521ba,5a187e26adc8aa32367f294c1496935c7356d386: [Backport #15952] array.c: always check frozenness in Array#unshift. Fixes [Bug #15952] Closes: https://github.com/ruby/ruby/pull/2251 array.c add back shared array optimization to ary_ensure_room_for_unshift Bug fix in commit ec8e5f5aa64e2a [Bug #15952] disabled an optimization in this function. Closes: https://github.com/ruby/ruby/pull/2252 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-09merge revision(s) ↵nagachika
28678997e40869f5591eae60edd9757334426ffb,8797f48373dcfa3ff8e748667732dea8aea4347e: [Backport #15937] Preserve the string content at self-copying * string.c (rb_str_init): preserve the embedded content when self-copying with a capacity. [Bug #15937] New buffer for shared string * string.c (rb_str_init): allocate new buffer if the string is shared. [Bug #15937] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-07merge revision(s) ↵nagachika
ae2a904ce9bffedee7d110dc60fd51c0a2879a5b,165ddfda20f6db8a3149d14c4f431fc242ddab70,fa7a768fdfe5223a29db4fa71b3e6101fb02ad51: [Backport #16051] Update the certificate files to make the test pass on Debian 10 The old certificate files (for example, test/rubygems/ca_cert.pem) were signed by SHA1. This message digest is considered too weak and rejected by OpenSSL 1.1.1 or later. Because of this, the test suite does not pass on Debian 10. https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-master/log/20190527T123003Z.fail.html.gz#test%2Frubygems This change regenerates the files. A shell script for the regeneration (util/create_certs.sh) is also added. * remove trailing spaces. Removed inconsistency file from upstream repository of rubygems. followed up ae2a904ce9bffedee7d110dc60fd51c0a2879a5b git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-07merge revision(s) ↵nagachika
5931857281ce45c1c277aa86d1588119ab00a955,76e2370f132f83c16c9de39a0a9356579f364527: [Backport #16041] Fix dangling path name from fstring * parse.y (yycompile): make sure in advance that the `__FILE__` object shares a fstring, to get rid of dangling path name. Fixed up 53e9908d8afc7f03109b0aafd1698ab35f512b05. [Bug #16041] * vm_eval.c (eval_make_iseq): ditto. Fix dangling path name from fstring * load.c (rb_require_internal): make sure in advance that the path to be loaded shares a fstring, to get rid of dangling path name. Fixed up 5931857281ce45c1c277aa86d1588119ab00a955. [Bug #16041] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-07merge revision(s) 1e54903684aa3c9ea3fe54520157846a1b1f07be: [Backport #16051]nagachika
test/openssl: Support OpenSSL 1.1.1 OpenSSL 1.1.1 rejects some shorter keys, which caused some failures of `make test-all TESTS=openssl`. https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-master/log/20190606T003005Z.fail.html.gz This change merges 6bbc31ddd1 and 63fb3a36d1 in https://github.com/ruby/openssl. Reference: https://github.com/ruby/openssl/pull/217 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-07merge revision(s) 43730256e800dd8e0c5cc482e9861868590ae037:nagachika
open-uri: Regenerate server certificates for tests OpenSSL 1.1.1 requires 2048 bits or more. This change will fix: https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-master/log/20190527T003004Z.fail.html.gz#test%2Fopen-uri git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-07merge revision(s) 9dec4e8fc3a6018261834b5ac9b9877f787b97ca: [Backport #15934]nagachika
String#b: Don't depend on dependent string Registering a string that depend on a dependent string as fstring can lead to use-after-free. See c06ddfe and 3f95620 for details. The following script triggers use-after-free on trunk, 2.4.6, 2.5.5 and 2.6.3. Credits to @wanabe for using eval as a cross-version way of registering a fstring. ```ruby a = ('j' * 24).b.b eval('', binding, a) p a 4.times { GC.start } p a ``` - string.c (str_replace_shared_without_enc): when given a dependent string, depend on the root of the dependent string. [Bug #15934] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-07merge revision(s) ↵nagachika
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
2019-08-05merge revision(s) 5e018214e7435030727a97ac49db038d96438e74: [Backport #15720]nagachika
Fix SystemStackError when calling a method in an unused refinement Fixes [Bug #15720] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-05merge revision(s) 2403f9ac3af170ce0107a709a9cb510fe0501648:nagachika
Expand the timeout of `test_pstore_files_are_accessed_as_binary_files` Sometimes causes timeout error on mswin CI git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-04merge revision(s) 66977: [Backport #15578]nagachika
Revert r63383, r63248 "compile.c: copy a short insn with leave" When copying `leave` insn, TRACE also should be copied if it is present, but this optimization is trivial and not worth the complexity. [ruby-core:91366] [Bug #15578] 4cae5353c03009beb1e0a1619422072773580609 5afd479de63b6609ddcd1510da94d2c1ac384f7f git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-01merge revision(s) ↵nagachika
6375c68f8851e1e0fee8a95afba91c4555097127,c05eaa93258ddc01e685b6cc3a0da82998a2af48: [Backport #15839] parse.y: function parser_mixed_error & parser_mixed_escape git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Fix mixed encoding in heredoc Heredocs are parsed line-by-line, so we need to keep track of the temporary encoding of the string. Previously, a heredoc would only detect mixed encoding errors if they were on the same line, this changes things so they will be caught on different lines. Fixes [Bug #15839] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-01merge revision(s) 5bab1304af25a843728dbcd2f3594913740aecb0: [Backport #15847]nagachika
fix visibility of SecureRandom.gen_random Aliasing a method preserves its visibility. These aliases turn formerly-public methods into private. Should make them public again. [Bug #15847] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-07-31merge revision(s) ea42423908ed055f9039b1dce6e9a232a3b2dd90: [Backport #15887]nagachika
Keep vm->orig_progname alive `vm->orig_progname` can be different from `vm->progname` when user code assigns to `$0`. While `vm->progname` is kept alive by the global table, nothing marked `vm->orig_progname`. [Bug #15887] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-07-31merge revision(s) ↵nagachika
d0ba4abf1a00339ebbb5d405db3240a8bdb7b68b,54eac83b2ad77ddea84fa6d66c09e0bb014cf61e: [Backport #15786] Add RB_ID_SERIAL_MAX Hide internal IDs * parse.y (internal_id): number the ID serial for internal use by counting down from the neary maximum value, not to accidentally match permanent IDs. [Bug #15768] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-07-28merge revision(s) a6a26e42b15c46f117f4fce07a2050e9d727355d: [Backport #15906]nagachika
compile.c: Partially revert r63870 which caused wrong optimization [Bug #15906] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-07-28merge revision(s) dcb6a6ae3e2b8a3e298e7f0d4a3e7f8ff102a30e: [Backport #15845]nagachika
Windows simply causes an error to open invalid path git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-07-25merge revision(s) a15f7dd1fb1148c3d586238ee6907875f2e40379: [Backport #15803]nagachika
Always mark the string returned by File.realpath as tainted This string can include elements that were not in either string passed to File.realpath, even if one of the strings is an absolute path, due to symlinks: ```ruby Dir.mkdir('b') unless File.directory?('b') File.write('b/a', '') unless File.file?('b/a') File.symlink('b', 'c') unless File.symlink?('c') path = File.realpath('c/a'.untaint, Dir.pwd.untaint) path # "/home/testr/ruby/b/a" path.tainted? # should be true, as 'b' comes from file system ``` [Bug #15803] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-15merge revision(s) 67561:naruse
Import CSV 3.0.9 This fixes test failures on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-15merge revision(s) 66720:naruse
separate downloading of Unicode property files and auxiliary files Separate downloading of Unicode property files in ucd and in ucd/auxiliary. This is needed because we need information from separate index.html files to discover the exact file names of property files during a beta period. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-13merge revision(s) ↵naruse
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
2019-04-13merge revision(s) 67439,67441,67453,67476: [Backport #15740]naruse
change lib/unicode_normalize/tables.rb to single item per line to make diffs shorter * template/unicode_norm_gen.tmpl: Change formatting of output to produce only a single item (or range) for each line to make future diffs shorter and easier to understand and check. * lib/unicode_normalize/tables.rb: output of the above update to Unicode Version 12.1.0 (beta) Unicode Version 12.1.0 adds one single character, U+32FF SQUARE ERA NAME REIWA, for the new Japanese era starting on May 1st. 12.1.0 will be finalized only on May 7th, so we go with the beta version because further changes in the data we need are highly unlikely, and we want to make sure Ruby is ready for the new era. * common.mk: change UNICODE_VERSION to 12.1.0, UNICODE_BETA to YES * enc/unicode/12.1.0, enc/unicode/12.1.0/casefold.h, enc/unicode/12.1.0/name2ctype.h: add directory and generated data files for new version * lib/unicode_normalize/tables.rb: update for new character * test/ruby/test_regexp.rb: add test for character property age=12.1 * test/test_unicode_normalize.rb: add test for NFKC decomposition of new character This (mostly) completes issue #15195. remove Unicode 12.0.0 related directory and generated files git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-13merge revision(s) 67497,67498: [Backport #15760]naruse
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
2019-04-11merge revision(s) 67466: [Backport #15755]naruse
enumerator.c: force hash values fixable * enumerator.c (arith_seq_hash): force hash values fixable on LLP64 environment. [ruby-core:92190] [Bug #15755] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-11merge revision(s) 67467: [Backport #15756]naruse
range.c: force hash values fixable * range.c (method_hash): force hash values fixable on LLP64 environment. [ruby-core:92191] [Bug #15756] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-11merge revision(s) 67468: [Backport #15757]naruse
range.c: force hash values fixable * range.c (range_hash): force hash values fixable on LLP64 environment. [ruby-core:92194] [Bug #15757] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-28merge revision(s) 67332: [Backport #15649]naruse
dir.c: fix Dir.glob starts with brace * dir.c (ruby_glob0): expand braces if a glob pattern starts with brace. [ruby-core:91728] [Bug #15649] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-28merge revision(s) 67270: [Backport #15670]naruse
dsym should be treated as string [ruby-core:91852] [Bug #15670] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-28merge revision(s) 67247: [Backport #15666]naruse
Guard out the test when it is run under root permission git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-11merge revision(s) 67203: [Backport #15651]naruse
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
2019-03-11merge revision(s) 67217: [Backport #15658]naruse
The combination of non-Symbol keys and Symbol keys is now allowed again Revert r64358. [Bug #15658] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-11merge revision(s) 66973: [Backport #15577]naruse
Run r66972 assertion only when a sticky-bit makes sense git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-11merge revision(s) 67201: [Backport #15650]naruse
eval.c: clear internal errinfo * eval.c (ruby_cleanup): clear internal error info when invoking end procs. [ruby-core:91731] [Bug #15650] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-11merge revision(s) 67200: [Backport #15648]naruse
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
2019-03-11merge revision(s) 67188: [Backport #15642]naruse
io.c: chomp CR at the end of read buffer * io.c (rb_io_getline_fast): chomp CR followed by LF but separated by the read buffer boundary. [ruby-core:91707] [Bug #15642] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-06Backport RubyGems 3.0.3: [Backport #15637]naruse
* Fixed following vulnerabilities: * CVE-2019-8320: Delete directory using symlink when decompressing tar * CVE-2019-8321: Escape sequence injection vulnerability in verbose * CVE-2019-8322: Escape sequence injection vulnerability in gem owner * CVE-2019-8323: Escape sequence injection vulnerability in API response handling * CVE-2019-8324: Installing a malicious gem may lead to arbitrary code execution * CVE-2019-8325: Escape sequence injection vulnerability in errors * see also https://blog.rubygems.org/2019/03/05/3.0.3-released.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-06merge revision(s) 67167: [Backport #15635]naruse
string.c: respect the actual encoding * string.c (rb_enc_str_coderange): respect the actual encoding of if a BOM presents, and scan for the actual code range. [ruby-core:91662] [Bug #15635] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-06merge revision(s) 66972: [Backport #15577]naruse
Fix exception namespace * lib/fileutils.rb (remove_entry_secure): EISDIR is under the Errno namespace. [ruby-core:91362] [Bug #15577] From: Tietew (Toru Iwase) <tietew@tietew.net> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-30merge revision(s) 66947: [Backport #15518]naruse
enumerator.c: fix arith_seq_first for Infinity * enumerator.c (arith_seq_first): fix for Float::INFINITY. * test/ruby/test_arithmetic_sequence.rb: add tests. * numeric.c (ruby_float_step_size): export for internal use. * internal.h: add prototype declaration of ruby_float_step_size. [ruby-core:90937][Bug #15518] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-29merge revision(s) 66909: [Backport #15555]naruse
tmpdir.rb: permission of user given directory * lib/tmpdir.rb (Dir.mktmpdir): check if the permission of the parent directory only when using the default temporary directory, and no check against user given directory. the security is the user's responsibility in that case. [ruby-core:91216] [Bug #15555] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-29merge revision(s) 66938: [Backport #15488]naruse
Fix `Module#const_defined?` on inherited constants [Fix GH-2061] From: manga_osyo <manga.osyo@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-26merge revision(s) 66922: [Backport #15521]naruse
Upgrade CSV to 3.0.4 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e