summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-store/storage/block.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/codeberg.org/gruf/go-store/storage/block.go')
-rw-r--r--vendor/codeberg.org/gruf/go-store/storage/block.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/vendor/codeberg.org/gruf/go-store/storage/block.go b/vendor/codeberg.org/gruf/go-store/storage/block.go
index 112b67d80..9a8c4dc7d 100644
--- a/vendor/codeberg.org/gruf/go-store/storage/block.go
+++ b/vendor/codeberg.org/gruf/go-store/storage/block.go
@@ -585,8 +585,8 @@ func (st *BlockStorage) WalkKeys(opts WalkKeysOptions) error {
// nodePathForKey calculates the node file path for supplied key
func (st *BlockStorage) nodePathForKey(key string) (string, error) {
- // Path separators are illegal
- if strings.Contains(key, "/") {
+ // Path separators are illegal, as directory paths
+ if strings.Contains(key, "/") || key == "." || key == ".." {
return "", ErrInvalidKey
}
@@ -594,6 +594,10 @@ func (st *BlockStorage) nodePathForKey(key string) (string, error) {
pb := util.GetPathBuilder()
defer util.PutPathBuilder(pb)
+ // Append the nodepath to key
+ pb.AppendString(st.nodePath)
+ pb.AppendString(key)
+
// Return joined + cleaned node-path
return pb.Join(st.nodePath, key), nil
}