From 2fd1899d84e572bfc599e211ddb1a1059b935741 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sat, 12 Jan 2008 21:38:22 -0500 Subject: [PATCH] Fix memory safety issue --- extra/benchmark/nsieve-bits/nsieve-bits.factor | 4 ++-- extra/benchmark/nsieve/nsieve.factor | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/extra/benchmark/nsieve-bits/nsieve-bits.factor b/extra/benchmark/nsieve-bits/nsieve-bits.factor index c2f8e02996..46ebc6595e 100644 --- a/extra/benchmark/nsieve-bits/nsieve-bits.factor +++ b/extra/benchmark/nsieve-bits/nsieve-bits.factor @@ -6,11 +6,11 @@ bit-arrays namespaces io ; 2dup length >= [ 3drop ] [ - f pick pick set-nth-unsafe >r over + r> clear-flags + f 2over set-nth-unsafe >r over + r> clear-flags ] if ; inline : (nsieve-bits) ( count i seq -- count ) - 2dup length <= [ + 2dup length < [ 2dup nth-unsafe [ over dup 2 * pick clear-flags rot 1+ -rot ! increment count diff --git a/extra/benchmark/nsieve/nsieve.factor b/extra/benchmark/nsieve/nsieve.factor index b9200fb2bb..c567aa8a8f 100644 --- a/extra/benchmark/nsieve/nsieve.factor +++ b/extra/benchmark/nsieve/nsieve.factor @@ -10,7 +10,7 @@ arrays namespaces io ; ] if ; inline : (nsieve) ( count i seq -- count ) - 2dup length <= [ + 2dup length < [ 2dup nth-unsafe [ over dup 2 * pick clear-flags rot 1+ -rot ! increment count