[ruby-core:68110] [Ruby trunk - Bug #10853] [Assigned] inspect.claer dumps core

5 views
Skip to first unread message

ma...@ruby-lang.org

unread,
Feb 13, 2015, 7:42:23 AM2/13/15
to ruby...@ruby-lang.org
Issue #10853 has been reported by Yusuke Endoh.

----------------------------------------
Bug #10853: inspect.claer dumps core
https://bugs.ruby-lang.org/issues/10853

* Author: Yusuke Endoh
* Status: Assigned
* Priority: Normal
* Assignee: Yusuke Endoh
* ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
~~~
$ ruby -e 'inspect.clear'
*** Error in `ruby': munmap_chunk(): invalid pointer: 0x00007fd20ed64fe7 ***
Aborted (core dumped)
~~~

str_discard attempts to free a C literal string, which causes core dump.
It must check STR_NOFREE.

~~~
diff --git a/string.c b/string.c
index 5de795a..d810213 100644
--- a/string.c
+++ b/string.c
@@ -1662,7 +1662,7 @@ static inline void
str_discard(VALUE str)
{
str_modifiable(str);
- if (!STR_SHARED_P(str) && !STR_EMBED_P(str)) {
+ if (!STR_EMBED_P(str) && !FL_TEST(str, STR_SHARED|STR_NOFREE)) {
ruby_sized_xfree(STR_HEAP_PTR(str), STR_HEAP_SIZE(str));
RSTRING(str)->as.heap.ptr = 0;
RSTRING(str)->as.heap.len = 0;
~~~

--
Yusuke Endoh <ma...@ruby-lang.org>



--
https://bugs.ruby-lang.org/

ma...@ruby-lang.org

unread,
Feb 13, 2015, 8:12:50 AM2/13/15
to ruby...@ruby-lang.org
Issue #10853 has been updated by Yusuke Endoh.

Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED

----------------------------------------
Bug #10853: inspect.claer dumps core
https://bugs.ruby-lang.org/issues/10853#change-51492

* Author: Yusuke Endoh
* Status: Closed
* Priority: Normal
* Assignee: Yusuke Endoh
* ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED

nar...@airemix.jp

unread,
Feb 16, 2015, 9:51:44 PM2/16/15
to ruby...@ruby-lang.org
Issue #10853 has been updated by Yui NARUSE.

Backport changed from 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE

ruby_2_2 r49621 merged revision(s) 49586.

----------------------------------------
Bug #10853: inspect.claer dumps core
https://bugs.ruby-lang.org/issues/10853#change-51518

* Author: Yusuke Endoh
* Status: Closed
* Priority: Normal
* Assignee: Yusuke Endoh
* ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE
Reply all
Reply to author
Forward
0 new messages