From 3f022227ce054571131d1209ec8fe4cb7e62890d Mon Sep 17 00:00:00 2001 From: Barak Michener Date: Thu, 28 May 2015 15:48:58 -0400 Subject: [PATCH] Fix LevelDB deleted-triple iterator stack overflow bug --- graph/leveldb/iterator.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/graph/leveldb/iterator.go b/graph/leveldb/iterator.go index 8501538..072543d 100644 --- a/graph/leveldb/iterator.go +++ b/graph/leveldb/iterator.go @@ -139,6 +139,11 @@ func (it *Iterator) Next() bool { } if bytes.HasPrefix(it.iter.Key(), it.nextPrefix) { if !it.isLiveValue(it.iter.Value()) { + ok := it.iter.Next() + if !ok { + it.Close() + return false + } return it.Next() } out := make([]byte, len(it.iter.Key()))