diff --git a/leveldb/table/reader.go b/leveldb/table/reader.go
index <HASH>..<HASH> 100644
--- a/leveldb/table/reader.go
+++ b/leveldb/table/reader.go
@@ -581,6 +581,7 @@ func (r *Reader) readRawBlock(bh blockHandle, verifyChecksum bool) ([]byte, erro
 	case blockTypeSnappyCompression:
 		decLen, err := snappy.DecodedLen(data[:bh.length])
 		if err != nil {
+			r.bpool.Put(data)
 			return nil, r.newErrCorruptedBH(bh, err.Error())
 		}
 		decData := r.bpool.Get(decLen)
Fix readRawBlock: a forgotten BufferPool Put (#<I>)