From 029c354316304bf5c03f5ee0abd2f57d907f7324 Mon Sep 17 00:00:00 2001
From: AdamKorcz <adam@adalogics.com>
Date: Thu, 10 Feb 2022 16:11:09 +0000
Subject: [PATCH] server/storage/mvcc: fix oss-fuzz issue 44449

---
 server/storage/mvcc/index.go | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/server/storage/mvcc/index.go b/server/storage/mvcc/index.go
index 13cbc9b8b..be817c5a6 100644
--- a/server/storage/mvcc/index.go
+++ b/server/storage/mvcc/index.go
@@ -257,8 +257,14 @@ func (ti *treeIndex) Equal(bi index) bool {
 	equal := true
 
 	ti.tree.Ascend(func(item btree.Item) bool {
-		aki := item.(*keyIndex)
-		bki := b.tree.Get(item).(*keyIndex)
+		var aki, bki *keyIndex
+		var ok bool
+		if aki, ok = item.(*keyIndex); !ok {
+			return false
+		}
+		if bki, ok = b.tree.Get(item).(*keyIndex); !ok {
+			return false
+		}
 		if !aki.equal(bki) {
 			equal = false
 			return false