From 06cbe3e64f08028957d9b8a55ec8b8e273d3cfdc Mon Sep 17 00:00:00 2001 From: kosako Date: Sun, 29 Oct 2006 10:55:27 +0000 Subject: 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 --- ChangeLog | 4 ++++ regexec.c | 3 ++- version.h | 6 +++--- 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 + + * regexec.c: invalid offset value was used in STATE_CHECK_BUFF_INIT(). + Sat Oct 28 20:13:18 2006 K.Kosako * 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[]; -- cgit