mirror of
https://github.com/taigrr/bitcask
synced 2025-01-18 04:03:17 -08:00
Add CRC Checksum checks on reading values back
This commit is contained in:
parent
120e854444
commit
7a33c70b80
@ -2,6 +2,7 @@ package bitcask
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"hash/crc32"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
@ -61,6 +62,11 @@ func (b *Bitcask) Get(key string) ([]byte, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
crc := crc32.ChecksumIEEE(e.Value)
|
||||||
|
if crc != e.CRC {
|
||||||
|
return nil, fmt.Errorf("error: crc checksum falied %s %d != %d", key, e.CRC, crc)
|
||||||
|
}
|
||||||
|
|
||||||
return e.Value, nil
|
return e.Value, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user