Skip to content

Commit

Permalink
Fixed double free in wrapper (copied fix from virgil-crypto-c) (#43)
Browse files Browse the repository at this point in the history
  • Loading branch information
Scratch-net authored Apr 13, 2020
1 parent 40073e5 commit ba03bcb
Show file tree
Hide file tree
Showing 47 changed files with 2,849 additions and 2,682 deletions.
36 changes: 18 additions & 18 deletions crypto/wrapper/foundation/aes256_cbc_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ package foundation

import (
b64 "encoding/base64"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"reflect"
"testing"
)

func TestNewAes256Cbc(t *testing.T) {
aes256Cbc := NewAes256Cbc()

assert.NotNil(t, aes256Cbc)
require.NotNil(t, aes256Cbc)
}

func TestAes256Cbc_Encrypt(t *testing.T) {
Expand All @@ -59,9 +59,9 @@ func TestAes256Cbc_Encrypt(t *testing.T) {

encryptedData, err := aes256Cbc.Encrypt(data)

assert.Nil(t, err)
assert.NotNil(t, encryptedData)
assert.Equal(t, expectedEncryptedData, encryptedData)
require.Nil(t, err)
require.NotNil(t, encryptedData)
require.Equal(t, expectedEncryptedData, encryptedData)
}

func TestAes256Cbc_Encrypt_WithCipher(t *testing.T) {
Expand All @@ -86,12 +86,12 @@ func TestAes256Cbc_Encrypt_WithCipher(t *testing.T) {
startIndex += blockLen
}
finishData, err := aes256Cbc.Finish()
assert.Nil(t, err)
require.Nil(t, err)

encryptedData := append(updateData, finishData...)

assert.NotNil(t, encryptedData)
assert.Equal(t, expectedEncryptedData, encryptedData)
require.NotNil(t, encryptedData)
require.Equal(t, expectedEncryptedData, encryptedData)
}

func TestAes256Cbc_Decrypt(t *testing.T) {
Expand All @@ -106,9 +106,9 @@ func TestAes256Cbc_Decrypt(t *testing.T) {

decryptedData, err := aes256Cbc.Decrypt(encryptedData)

assert.Nil(t, err)
assert.NotNil(t, decryptedData)
assert.True(t, reflect.DeepEqual(expectedDecryptedData, decryptedData))
require.Nil(t, err)
require.NotNil(t, decryptedData)
require.True(t, reflect.DeepEqual(expectedDecryptedData, decryptedData))
}

func TestAes256Cbc_Decrypt_WitCipher(t *testing.T) {
Expand All @@ -124,30 +124,30 @@ func TestAes256Cbc_Decrypt_WitCipher(t *testing.T) {
aes256Cbc.StartDecryption()
updateData := aes256Cbc.Update(encryptedData)
finishData, err := aes256Cbc.Finish()
assert.Nil(t, err)
require.Nil(t, err)

decryptedData := append(updateData, finishData...)

assert.NotNil(t, decryptedData)
assert.True(t, reflect.DeepEqual(expectedDecryptedData, decryptedData))
require.NotNil(t, decryptedData)
require.True(t, reflect.DeepEqual(expectedDecryptedData, decryptedData))
}

func TestAes256Cbc_GetNonceLen(t *testing.T) {
aes256Cbc := NewAes256Cbc()
assert.Equal(t, TEST_AES256_CBC_NONCE_LEN, aes256Cbc.GetNonceLen())
require.Equal(t, TEST_AES256_CBC_NONCE_LEN, aes256Cbc.GetNonceLen())
}

func TestAes256Cbc_GetKeyLen(t *testing.T) {
aes256Cbc := NewAes256Cbc()
assert.Equal(t, TEST_AES256_CBC_KEY_LEN, aes256Cbc.GetKeyLen())
require.Equal(t, TEST_AES256_CBC_KEY_LEN, aes256Cbc.GetKeyLen())
}

func TestAes256Cbc_GetKeyBitLen(t *testing.T) {
aes256Cbc := NewAes256Cbc()
assert.Equal(t, TEST_AES256_CBC_KEY_BIT_LEN, aes256Cbc.GetKeyBitlen())
require.Equal(t, TEST_AES256_CBC_KEY_BIT_LEN, aes256Cbc.GetKeyBitlen())
}

func TestAes256Cbc_GetBlockLen(t *testing.T) {
aes256Cbc := NewAes256Cbc()
assert.Equal(t, TEST_AES256_CBC_BLOCK_LEN, aes256Cbc.GetBlockLen())
require.Equal(t, TEST_AES256_CBC_BLOCK_LEN, aes256Cbc.GetBlockLen())
}
44 changes: 22 additions & 22 deletions crypto/wrapper/foundation/aes256_gcm_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@ package foundation

import (
b64 "encoding/base64"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"testing"
)

func TestNewAes256Gcm(t *testing.T) {
aes256Gcm := NewAes256Gcm()

assert.NotNil(t, aes256Gcm)
require.NotNil(t, aes256Gcm)
}

func TestAes256Gcm_AuthEncrypt(t *testing.T) {
Expand All @@ -60,9 +60,9 @@ func TestAes256Gcm_AuthEncrypt(t *testing.T) {

out, tag, err := aes256Gcm.AuthEncrypt(data, authData)

assert.Nil(t, err)
assert.Equal(t, expectedOut, out)
assert.Equal(t, expectedTag, tag)
require.Nil(t, err)
require.Equal(t, expectedOut, out)
require.Equal(t, expectedTag, tag)
}

func TestAes256Gcm_Encrypt(t *testing.T) {
Expand All @@ -77,9 +77,9 @@ func TestAes256Gcm_Encrypt(t *testing.T) {

encryptedData, err := aes256Gcm.Encrypt(data)

assert.Nil(t, err)
assert.NotNil(t, encryptedData)
assert.Equal(t, expectedEncryptedData, encryptedData)
require.Nil(t, err)
require.NotNil(t, encryptedData)
require.Equal(t, expectedEncryptedData, encryptedData)
}

func TestAes256Gcm_Encrypt_WithCipher(t *testing.T) {
Expand All @@ -103,12 +103,12 @@ func TestAes256Gcm_Encrypt_WithCipher(t *testing.T) {
startIndex += blockLen
}
finishData, err := aes256Gcm.Finish()
assert.Nil(t, err)
require.Nil(t, err)

encryptedData := append(updateData, finishData...)

assert.NotNil(t, encryptedData)
assert.Equal(t, expectedEncryptedData, encryptedData)
require.NotNil(t, encryptedData)
require.Equal(t, expectedEncryptedData, encryptedData)
}

func TestAes256Gcm_Decrypt(t *testing.T) {
Expand All @@ -123,9 +123,9 @@ func TestAes256Gcm_Decrypt(t *testing.T) {

decryptedData, err := aes256Gcm.Decrypt(encryptedData)

assert.Nil(t, err)
assert.NotNil(t, decryptedData)
assert.Equal(t, expectedDecryptedData, decryptedData)
require.Nil(t, err)
require.NotNil(t, decryptedData)
require.Equal(t, expectedDecryptedData, decryptedData)
}

func TestAes256Gcm_Decrypt_WitCipher(t *testing.T) {
Expand All @@ -149,35 +149,35 @@ func TestAes256Gcm_Decrypt_WitCipher(t *testing.T) {
startIndex += blockLen
}
finishData, err := aes256Gcm.Finish()
assert.Nil(t, err)
require.Nil(t, err)

decryptedData := append(updateData, finishData...)

assert.NotNil(t, decryptedData)
assert.Equal(t, expectedDecryptedData, decryptedData)
require.NotNil(t, decryptedData)
require.Equal(t, expectedDecryptedData, decryptedData)
}

func TestAes256Gcm_GetNonceLen(t *testing.T) {
aes256Gcm := NewAes256Gcm()
assert.Equal(t, TEST_AES256_GCM_NONCE_LEN, aes256Gcm.GetNonceLen())
require.Equal(t, TEST_AES256_GCM_NONCE_LEN, aes256Gcm.GetNonceLen())
}

func TestAes256Gcm_GetKeyLen(t *testing.T) {
aes256Gcm := NewAes256Gcm()
assert.Equal(t, TEST_AES256_GCM_KEY_LEN, aes256Gcm.GetKeyLen())
require.Equal(t, TEST_AES256_GCM_KEY_LEN, aes256Gcm.GetKeyLen())
}

func TestAes256Gcm_GetKeyBitLen(t *testing.T) {
aes256Gcm := NewAes256Gcm()
assert.Equal(t, TEST_AES256_GCM_KEY_BIT_LEN, aes256Gcm.GetKeyBitlen())
require.Equal(t, TEST_AES256_GCM_KEY_BIT_LEN, aes256Gcm.GetKeyBitlen())
}

func TestAes256Gcm_GetBlockLen(t *testing.T) {
aes256Gcm := NewAes256Gcm()
assert.Equal(t, TEST_AES256_GCM_BLOCK_LEN, aes256Gcm.GetBlockLen())
require.Equal(t, TEST_AES256_GCM_BLOCK_LEN, aes256Gcm.GetBlockLen())
}

func TestAes256Gcm_GetAuthTagLen(t *testing.T) {
aes256Gcm := NewAes256Gcm()
assert.Equal(t, TEST_AES256_GCM_AUTH_TAG_LEN, aes256Gcm.GetAuthTagLen())
require.Equal(t, TEST_AES256_GCM_AUTH_TAG_LEN, aes256Gcm.GetAuthTagLen())
}
8 changes: 4 additions & 4 deletions crypto/wrapper/foundation/asn1wr_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,14 @@
package foundation

import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"testing"
)

func TestNewAsn1wr(t *testing.T) {
asn1wr := NewAsn1wr()

assert.NotNil(t, asn1wr)
require.NotNil(t, asn1wr)
}

func TestAsn1wr_Finish(t *testing.T) {
Expand All @@ -56,6 +56,6 @@ func TestAsn1wr_Finish(t *testing.T) {
writteneLen := asn1wr.WriteInt(2)
writtenBytes := asn1wr.Finish(false)

assert.Equal(t, uint(3), writtenBytes)
assert.Equal(t, uint(len(asn1_encoded_INT_2)), writteneLen)
require.Equal(t, uint(3), writtenBytes)
require.Equal(t, uint(len(asn1_encoded_INT_2)), writteneLen)
}
22 changes: 11 additions & 11 deletions crypto/wrapper/foundation/base64_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ package foundation

import (
b64 "encoding/base64"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"reflect"
"testing"
)
Expand All @@ -46,14 +46,14 @@ func TestBase64Encode(t *testing.T) {
expectedEncodedData := []byte(TEST_DATA)

encodedData := Base64Encode(data)
assert.NotNil(t, encodedData)
assert.True(t, reflect.DeepEqual(expectedEncodedData, encodedData))
require.NotNil(t, encodedData)
require.True(t, reflect.DeepEqual(expectedEncodedData, encodedData))
}

func TestBase64EncodedLen(t *testing.T) {
assert.Equal(t, uint(0), Base64EncodedLen(0))
assert.Equal(t, uint(5), Base64EncodedLen(1))
assert.Equal(t, uint(9), Base64EncodedLen(4))
require.Equal(t, uint(0), Base64EncodedLen(0))
require.Equal(t, uint(5), Base64EncodedLen(1))
require.Equal(t, uint(9), Base64EncodedLen(4))
}

func TestBase64Decode(t *testing.T) {
Expand All @@ -62,12 +62,12 @@ func TestBase64Decode(t *testing.T) {

decodedData, err := Base64Decode(encodedData)

assert.Nil(t, err)
assert.NotNil(t, decodedData)
assert.Equal(t, expectedDecodedData, decodedData)
require.Nil(t, err)
require.NotNil(t, decodedData)
require.Equal(t, expectedDecodedData, decodedData)
}

func TestBase64DecodedLen(t *testing.T) {
assert.Equal(t, uint(0), Base64DecodedLen(0))
assert.Equal(t, uint(4), Base64DecodedLen(1))
require.Equal(t, uint(0), Base64DecodedLen(0))
require.Equal(t, uint(4), Base64DecodedLen(1))
}
Loading

0 comments on commit ba03bcb

Please sign in to comment.