From a80cd7ae9bc775bf84dad7b9ebdc0899608eb32d Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 30 Jun 2008 01:31:25 +0000 Subject: [PATCH] * ext/syslog/syslog.c (syslog_write): syslog operations should be protected from $SAFE level 4. a patch from Keita Yamaguchi . * ext/syslog/syslog.c (mSyslog_close): ditto. * ext/syslog/syslog.c (mSyslog_set_mask): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@17727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 10 ++++++++++ ext/syslog/syslog.c | 3 +++ 2 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index 4f53e99e44..0599fcc000 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Mon Jun 30 10:28:33 2008 Yukihiro Matsumoto + + * ext/syslog/syslog.c (syslog_write): syslog operations should be + protected from $SAFE level 4. a patch from Keita Yamaguchi + . + + * ext/syslog/syslog.c (mSyslog_close): ditto. + + * ext/syslog/syslog.c (mSyslog_set_mask): ditto. + Sun Jun 29 23:01:54 2008 Tanaka Akira * string.c (rb_str_format_m): make tmp volatile to avoid possible GC diff --git a/ext/syslog/syslog.c b/ext/syslog/syslog.c index 477489ddfe..ecc49318f7 100644 --- a/ext/syslog/syslog.c +++ b/ext/syslog/syslog.c @@ -22,6 +22,7 @@ static void syslog_write(int pri, int argc, VALUE *argv) { VALUE str; + rb_secure(4); if (argc < 1) { rb_raise(rb_eArgError, "no log message supplied"); } @@ -38,6 +39,7 @@ static void syslog_write(int pri, int argc, VALUE *argv) /* Syslog module methods */ static VALUE mSyslog_close(VALUE self) { + rb_secure(4); if (!syslog_opened) { rb_raise(rb_eRuntimeError, "syslog not opened"); } @@ -132,6 +134,7 @@ static VALUE mSyslog_get_mask(VALUE self) static VALUE mSyslog_set_mask(VALUE self, VALUE mask) { + rb_secure(4); if (!syslog_opened) { rb_raise(rb_eRuntimeError, "must open syslog before setting log mask"); }