diff --git a/ChangeLog b/ChangeLog index abc34fdcfa..d043f155e6 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 1e31cd6038..ba2a1b1cd4 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 0798b8a841..640171fa27 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[];