summaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-14 16:01:45 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-14 16:01:45 +0000
commit15d27690475aaa461a8302bdf3fc5901e7b5710d (patch)
treef5a47d2772beea7e30bd43117c33df7832c41f14 /ext
parent7e75205af725a2f2151b5cb4bfcc78531fb1c9bc (diff)
downloadruby-15d27690475aaa461a8302bdf3fc5901e7b5710d.tar.gz
ruby-15d27690475aaa461a8302bdf3fc5901e7b5710d.tar.xz
ruby-15d27690475aaa461a8302bdf3fc5901e7b5710d.zip
* ext/gdbm/gdbm.c (fgdbm_store): StringValue() may alter string
pointer. [ruby-dev:24783] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/dbm/dbm.c2
-rw-r--r--ext/gdbm/gdbm.c3
-rw-r--r--ext/sdbm/init.c2
3 files changed, 4 insertions, 3 deletions
diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c
index e609327c4..b3bd3d2c0 100644
--- a/ext/dbm/dbm.c
+++ b/ext/dbm/dbm.c
@@ -494,11 +494,11 @@ fdbm_store(obj, keystr, valstr)
fdbm_modify(obj);
keystr = rb_obj_as_string(keystr);
+ valstr = rb_obj_as_string(valstr);
key.dptr = RSTRING(keystr)->ptr;
key.dsize = RSTRING(keystr)->len;
- valstr = rb_obj_as_string(valstr);
val.dptr = RSTRING(valstr)->ptr;
val.dsize = RSTRING(valstr)->len;
diff --git a/ext/gdbm/gdbm.c b/ext/gdbm/gdbm.c
index 799445a89..ac208efbe 100644
--- a/ext/gdbm/gdbm.c
+++ b/ext/gdbm/gdbm.c
@@ -598,10 +598,11 @@ fgdbm_store(obj, keystr, valstr)
rb_gdbm_modify(obj);
StringValue(keystr);
+ StringValue(valstr);
+
key.dptr = RSTRING(keystr)->ptr;
key.dsize = RSTRING(keystr)->len;
- StringValue(valstr);
val.dptr = RSTRING(valstr)->ptr;
val.dsize = RSTRING(valstr)->len;
diff --git a/ext/sdbm/init.c b/ext/sdbm/init.c
index ed39769e7..ae519c460 100644
--- a/ext/sdbm/init.c
+++ b/ext/sdbm/init.c
@@ -477,11 +477,11 @@ fsdbm_store(obj, keystr, valstr)
fdbm_modify(obj);
StringValue(keystr);
+ StringValue(valstr);
key.dptr = RSTRING(keystr)->ptr;
key.dsize = RSTRING(keystr)->len;
- StringValue(valstr);
val.dptr = RSTRING(valstr)->ptr;
val.dsize = RSTRING(valstr)->len;