Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/ruby.git#071cbd09061fb0e519fb1216b2ddb156643b0d9e
This commit is contained in:
DistroBaker 2021-01-08 15:53:18 +00:00
parent 800f406961
commit 3e2b1ed2d6
2 changed files with 42 additions and 5 deletions

View File

@ -0,0 +1,30 @@
From f690eb34e28b000627e5f0649dd81a04e252286f Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@ruby-lang.org>
Date: Sat, 2 Jan 2021 12:11:52 +0900
Subject: [PATCH] Fixed dangling imemo_tmpbuf
The count of rb_alloc_tmp_buffer_with_count is the allocation size
counted in VALUE size but not in the requested element size.
Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
Co-authored-by: Koichi Sasada <ko1@atdot.net>
---
include/ruby/internal/memory.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/include/ruby/internal/memory.h b/include/ruby/internal/memory.h
index 974c21e19ce8..7d24df494512 100644
--- a/include/ruby/internal/memory.h
+++ b/include/ruby/internal/memory.h
@@ -250,8 +250,9 @@ rbimpl_size_mul_or_raise(size_t x, size_t y)
static inline void *
rb_alloc_tmp_buffer2(volatile VALUE *store, long count, size_t elsize)
{
- return rb_alloc_tmp_buffer_with_count(
- store, rbimpl_size_mul_or_raise(count, elsize), count);
+ const size_t total_size = rbimpl_size_mul_or_raise(count, elsize);
+ const size_t cnt = (total_size + sizeof(VALUE) - 1) / sizeof(VALUE);
+ return rb_alloc_tmp_buffer_with_count(store, total_size, cnt);
}
#ifndef __MINGW32__

View File

@ -22,7 +22,7 @@
%endif
%global release 139
%global release 140
%{!?release_string:%define release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}}
# The RubyGems library has to stay out of Ruby directory tree, since the
@ -146,6 +146,9 @@ Patch6: ruby-2.7.0-Initialize-ABRT-hook.patch
# hardening features of glibc (rhbz#1361037).
# https://bugs.ruby-lang.org/issues/12666
Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch
# Fix SEGFAULT preventing rubygem-unicode to build on armv7hl.
# https://bugs.ruby-lang.org/issues/17518
Patch10: ruby-3.0.0-Fixed-dangling-imemo_tmpbuf.patch
# Avoid possible timeout errors in TestBugReporter#test_bug_reporter_add.
# https://bugs.ruby-lang.org/issues/16492
Patch19: ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch
@ -603,6 +606,7 @@ rm -rf ext/fiddle/libffi*
%patch5 -p1
%patch6 -p1
%patch9 -p1
%patch10 -p1
%patch19 -p1
# Provide an example of usage of the tapset:
@ -892,10 +896,10 @@ MSPECOPTS=""
# https://bugs.ruby-lang.org/issues/17338
MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is not a Module'"
# Give an option to increase the timeout in tests.
# https://bugs.ruby-lang.org/issues/16921
%{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \
make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS"
#%# Give an option to increase the timeout in tests.
#%# https://bugs.ruby-lang.org/issues/16921
#%%{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \
#% make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS"
%files
%license BSDL
@ -1379,6 +1383,9 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no
%changelog
* Fri Jan 8 14:25:51 CET 2021 Vít Ondruch <vondruch@redhat.com> - 3.0.0-140
- Fix SEGFAULT preventing rubygem-unicode to build on armv7hl.
* Wed Jan 6 2021 Vít Ondruch <vondruch@redhat.com> - 3.0.0-139
- Add support for reworked RubyGems plugins.