Skip to content

Commit

Permalink
feat: check to prevent minor length great or equal then zero
Browse files Browse the repository at this point in the history
  • Loading branch information
joseluisq committed Oct 23, 2019
1 parent 5954c40 commit fb5313e
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
8 changes: 8 additions & 0 deletions strand.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ import (

// RandomBytes generates secure random bytes
func RandomBytes(len int) ([]byte, error) {
if len <= 0 {
return []byte(nil), nil
}

size := math.Ceil(float64(len) / 2.0)
byts := make([]byte, int(size))

Expand All @@ -22,6 +26,10 @@ func RandomBytes(len int) ([]byte, error) {

// RandomString generates a secure random string
func RandomString(len int) (str string, err error) {
if len <= 0 {
return "", nil
}

byts, err := RandomBytes(len)

if err != nil {
Expand Down
14 changes: 14 additions & 0 deletions strand_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,13 @@ func TestRandomBytess(t *testing.T) {
},
want: 16,
},
{
name: "Verify RandomBytes with <= 0 length",
args: args{
len: 0,
},
want: 0,
},
}

for _, tt := range tests {
Expand Down Expand Up @@ -60,6 +67,13 @@ func TestRandomString(t *testing.T) {
},
want: 32,
},
{
name: "Verify RandomString with <= 0 length",
args: args{
len: 0,
},
want: 0,
},
}

for _, tt := range tests {
Expand Down

0 comments on commit fb5313e

Please sign in to comment.