Backport #7754

Backport file.c (realpath_rec) GC fix to 1.9.3

Added by Jon-Erik Schneiderhan about 1 year ago. Updated about 1 year ago.

[ruby-core:51738]
Status:Closed
Priority:Normal
Assignee:Usaku NAKAMURA

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 realpathrec method in file.c. The behavior I am seeing is that the char array pointed at by linknames 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.

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

Associated revisions

Revision 39092
Added by Usaku NAKAMURA about 1 year ago

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

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

History

#1 Updated by Luis Lavena about 1 year ago

  • Status changed from Open to Assigned
  • Assignee set to Usaku NAKAMURA

#2 Updated by Usaku NAKAMURA about 1 year ago

  • Tracker changed from Bug to Backport
  • Project changed from ruby-trunk to Backport93
  • Category deleted (core)
  • Target version deleted (1.9.3)

#3 Updated by Usaku NAKAMURA about 1 year 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.

Also available in: Atom PDF