summaryrefslogtreecommitdiff
path: root/ext/gdbm
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-14 15:41:40 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-14 15:41:40 +0000
commit0f36ecebe0d0e89dd96d66dba96119824ae055a0 (patch)
treeb4be2daabe661ccbee038408fe0a4a4be85e9699 /ext/gdbm
parent8f1c92af4f90b4817eebcaa7c1e75747a90cfb50 (diff)
* string.c (rb_str_clear): avoid revealing NULL pointer.
[ruby-dev:24766] * string.c (str_gsub): add paranoid check. [ruby-dev:24827] * string.c (str_mod_check): check frozen status as well. [ruby-dev:24801] * lib/mathn.rb (Integer::gcd2): faster implementation by <erlercw@siu.edu>. [ruby-talk:120232] * ext/gdbm/gdbm.c (fgdbm_store): StringValue() may alter string pointer. [ruby-dev:24783] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/gdbm')
-rw-r--r--ext/gdbm/gdbm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ext/gdbm/gdbm.c b/ext/gdbm/gdbm.c
index 49c86149e2..e905dad91b 100644
--- a/ext/gdbm/gdbm.c
+++ b/ext/gdbm/gdbm.c
@@ -566,10 +566,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;