aboutsummaryrefslogtreecommitdiffstats
path: root/ext/date/date_core.c
diff options
context:
space:
mode:
authortadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-03 05:14:47 +0000
committertadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-03 05:14:47 +0000
commit1ddb6f705979fdbc176b5c33e773689baf28fb24 (patch)
treea3d1909a5be33a82efdd4fa135329b8bf191fd6b /ext/date/date_core.c
parentbdc55aa0c690e343be3b31a62c5f44a41f22e330 (diff)
downloadruby-1ddb6f705979fdbc176b5c33e773689baf28fb24.tar.gz
* ext/date/date_core.c: checks whether the object is frozen or not.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/date/date_core.c')
-rw-r--r--ext/date/date_core.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/date/date_core.c b/ext/date/date_core.c
index 7dbf32158d..d84d14c2bf 100644
--- a/ext/date/date_core.c
+++ b/ext/date/date_core.c
@@ -4696,6 +4696,9 @@ d_lite_initialize(int argc, VALUE *argv, VALUE self)
int df, of;
double sg;
+ rb_check_frozen(self);
+ rb_check_trusted(self);
+
rb_scan_args(argc, argv, "05", &vjd, &vdf, &vsf, &vof, &vsg);
jd = INT2FIX(0);
@@ -4749,6 +4752,9 @@ d_lite_initialize(int argc, VALUE *argv, VALUE self)
static VALUE
d_lite_initialize_copy(VALUE copy, VALUE date)
{
+ rb_check_frozen(copy);
+ rb_check_trusted(copy);
+
if (copy == date)
return copy;
{
@@ -7270,6 +7276,9 @@ d_lite_marshal_load(VALUE self, VALUE a)
{
get_d1(self);
+ rb_check_frozen(self);
+ rb_check_trusted(self);
+
if (TYPE(a) != T_ARRAY)
rb_raise(rb_eTypeError, "expected an array");