summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkosako <kosako@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-10-29 10:55:27 +0000
committerkosako <kosako@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-10-29 10:55:27 +0000
commit06cbe3e64f08028957d9b8a55ec8b8e273d3cfdc (patch)
treeb5f3e4fed3126a95151b254838652638b3aca326
parent20629f3da589d14ccc16917de19588a03f2e4c50 (diff)
downloadruby-06cbe3e64f08028957d9b8a55ec8b8e273d3cfdc.tar.gz
ruby-06cbe3e64f08028957d9b8a55ec8b8e273d3cfdc.tar.xz
ruby-06cbe3e64f08028957d9b8a55ec8b8e273d3cfdc.zip
fix offset value in STATE_CHECK_BUFF_INIT()
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--regexec.c3
-rw-r--r--version.h6
3 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index abc34fdcf..d043f155e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sun Oct 29 19:51:31 2006 K.Kosako <sndgk393 AT ybb.ne.jp>
+
+ * regexec.c: invalid offset value was used in STATE_CHECK_BUFF_INIT().
+
Sat Oct 28 20:13:18 2006 K.Kosako <sndgk393 AT ybb.ne.jp>
* oniguruma.h: Version 4.4.5
diff --git a/regexec.c b/regexec.c
index 1e31cd603..ba2a1b1cd 100644
--- a/regexec.c
+++ b/regexec.c
@@ -390,7 +390,8 @@ typedef struct {
#define STATE_CHECK_BUFF_INIT(msa, str_len, offset, state_num) do { \
if ((state_num) > 0 && str_len >= STATE_CHECK_STRING_THRESHOLD_LEN) {\
- int size = ((int )((str_len) + 1) * (state_num) + 7) / 8;\
+ unsigned int size = (unsigned int )(((str_len) + 1) * (state_num) + 7) >> 3;\
+ offset = ((offset) * (state_num)) >> 3;\
if (size > 0 && offset < size && size < STATE_CHECK_BUFF_MAX_SIZE) {\
if (size >= STATE_CHECK_BUFF_MALLOC_THRESHOLD_SIZE) \
(msa).state_check_buff = (void* )xmalloc(size);\
diff --git a/version.h b/version.h
index 0798b8a84..640171fa2 100644
--- a/version.h
+++ b/version.h
@@ -1,14 +1,14 @@
#define RUBY_VERSION "1.9.0"
-#define RUBY_RELEASE_DATE "2006-10-28"
+#define RUBY_RELEASE_DATE "2006-10-29"
#define RUBY_VERSION_CODE 190
-#define RUBY_RELEASE_CODE 20061028
+#define RUBY_RELEASE_CODE 20061029
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 9
#define RUBY_VERSION_TEENY 0
#define RUBY_RELEASE_YEAR 2006
#define RUBY_RELEASE_MONTH 10
-#define RUBY_RELEASE_DAY 28
+#define RUBY_RELEASE_DAY 29
RUBY_EXTERN const char ruby_version[];
RUBY_EXTERN const char ruby_release_date[];