diff --git a/ChangeLog b/ChangeLog index 4b38c27782..49691359f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Oct 2 21:37:04 2013 Yusuke Endoh + + * random.c (make_seed_value): a local array declaration was accessed + out of scope. Coverity Scan found this bug. + Wed Oct 2 18:52:40 2013 Koichi Sasada * gc.c: relax GC condition due to malloc_limit. diff --git a/random.c b/random.c index 289c24d4c4..4026614044 100644 --- a/random.c +++ b/random.c @@ -495,10 +495,10 @@ make_seed_value(const uint32_t *ptr) { VALUE seed; size_t len; + uint32_t buf[DEFAULT_SEED_CNT+1]; if (ptr[DEFAULT_SEED_CNT-1] <= 1) { /* set leading-zero-guard */ - uint32_t buf[DEFAULT_SEED_CNT+1]; MEMCPY(buf, ptr, uint32_t, DEFAULT_SEED_CNT); buf[DEFAULT_SEED_CNT] = 1; ptr = buf;