Skip to content

Commit

Permalink
Merge pull request #2288 from jhaals/verify-redis
Browse files Browse the repository at this point in the history
Redis: verify deletion count
  • Loading branch information
jhaals committed May 9, 2024
2 parents f90c50d + ceae5c5 commit 6f8ab2f
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions pkg/server/redis.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package server

import (
"encoding/json"
"fmt"
"time"

"github.com/go-redis/redis/v7"
Expand Down Expand Up @@ -36,11 +37,14 @@ func (r *Redis) Get(key string) (yopass.Secret, error) {
}

if s.OneTime {
if err := r.client.Del(key).Err(); err != nil {
res, err := r.client.Del(key).Result()
if err != nil {
return s, err
}
if res != 1 {
return s, fmt.Errorf("expected to delete 1 key, but deleted %d keys", res)
}
}

return s, nil
}

Expand All @@ -59,8 +63,10 @@ func (r *Redis) Put(key string, secret yopass.Secret) error {

// Delete key from Redis
func (r *Redis) Delete(key string) (bool, error) {
err := r.client.Del(key).Err()

res, err := r.client.Del(key).Result()
if res != 1 {
return false, fmt.Errorf("expected to delete 1 key, but deleted %d keys", res)
}
if err == redis.Nil {
return false, nil
}
Expand Down

0 comments on commit 6f8ab2f

Please sign in to comment.