From c10cff0c5792f0021552e77e9bf845526253392f Mon Sep 17 00:00:00 2001 From: knu Date: Mon, 23 Mar 2009 12:45:23 +0000 Subject: * ext/dbm/dbm.c (fdbm_initialize): Make the file variable volatile, because FilePathValue() currently does not protect the given variable from GC. (Probably it should) * ext/sdbm/init.c (fsdbm_initialize): Ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/dbm/dbm.c | 3 ++- ext/sdbm/init.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'ext') diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c index 7a78f8dad..84d331ae5 100644 --- a/ext/dbm/dbm.c +++ b/ext/dbm/dbm.c @@ -91,7 +91,8 @@ fdbm_alloc(VALUE klass) static VALUE fdbm_initialize(int argc, VALUE *argv, VALUE obj) { - VALUE file, vmode, vflags; + volatile VALUE file; + VALUE vmode, vflags; DBM *dbm; struct dbmdata *dbmp; int mode, flags = 0; diff --git a/ext/sdbm/init.c b/ext/sdbm/init.c index 2e4f75cfb..f630dc3cc 100644 --- a/ext/sdbm/init.c +++ b/ext/sdbm/init.c @@ -82,7 +82,8 @@ fsdbm_alloc(VALUE klass) static VALUE fsdbm_initialize(int argc, VALUE *argv, VALUE obj) { - VALUE file, vmode; + volatile VALUE file; + VALUE vmode; DBM *dbm; struct dbmdata *dbmp; int mode; -- cgit