Project

General

Profile

Actions

Backport #7754

closed

Backport file.c (realpath_rec) GC fix to 1.9.3

Added by jschneiderhan (Jon-Erik Schneiderhan) about 11 years ago. Updated about 11 years ago.

Status:
Closed
[ruby-core:51738]

Description

I'm hitting a problem with ruby-1.9.3-p327 and ruby-1.9.3-p374 that I tracked down with gdb to the realpath_rec method in file.c. The behavior I am seeing is that the char array pointed at by link_names is written over if GC runs in subsequent calls to realpath_rec.

It turns out the issue has already been resolved in trunk:

https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/37174/diff/file.c

I was wondering if this could be backported to 1.9.3.


Files

file.c.patch (1.03 KB) file.c.patch jschneiderhan (Jon-Erik Schneiderhan), 01/30/2013 03:57 AM

Updated by luislavena (Luis Lavena) about 11 years ago

  • Status changed from Open to Assigned
  • Assignee set to usa (Usaku NAKAMURA)
Actions #2

Updated by usa (Usaku NAKAMURA) about 11 years ago

  • Tracker changed from Bug to Backport
  • Project changed from Ruby master to Backport193
  • Category deleted (core)
  • Target version deleted (1.9.3)
Actions #3

Updated by usa (Usaku NAKAMURA) about 11 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r39092.
Jon-Erik, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 37174: [Backport #7754]

* file.c (realpath_rec): prevent link from GC while link_names refers
  the content.
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0