portainer/portainer

View on GitHub
api/crypto/aes.go

Summary

Maintainability
A
2 hrs
Test Coverage

Function aesDecryptGCM has 10 return statements (exceeds 4 allowed).
Open

func aesDecryptGCM(input io.Reader, passphrase []byte) (io.Reader, error) {
    // Reader & verify header
    header := make([]byte, len(aesGcmHeader))
    if _, err := io.ReadFull(input, header); err != nil {
        return nil, err
Severity: Major
Found in api/crypto/aes.go - About 1 hr to fix

    Function aesEncryptGCM has 10 return statements (exceeds 4 allowed).
    Open

    func aesEncryptGCM(input io.Reader, output io.Writer, passphrase []byte) error {
        // Derive key using argon2 with a random salt
        salt := make([]byte, 16) // 16 bytes salt
        if _, err := io.ReadFull(rand.Reader, salt); err != nil {
            return err
    Severity: Major
    Found in api/crypto/aes.go - About 1 hr to fix

      Function AesDecrypt has 5 return statements (exceeds 4 allowed).
      Open

      func AesDecrypt(input io.Reader, passphrase []byte) (io.Reader, error) {
          // Read file header to determine how it was encrypted
          inputReader := bufio.NewReader(input)
          header, err := inputReader.Peek(len(aesGcmHeader))
          if err != nil {
      Severity: Major
      Found in api/crypto/aes.go - About 35 mins to fix

        There are no issues that match your filters.

        Category
        Status