OpenCoverage

e_idea.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/evp/e_idea.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/*-
2 * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.-
3 *-
4 * Licensed under the OpenSSL license (the "License"). You may not use-
5 * this file except in compliance with the License. You can obtain a copy-
6 * in the file LICENSE in the source distribution or at-
7 * https://www.openssl.org/source/license.html-
8 */-
9-
10#include <stdio.h>-
11#include "internal/cryptlib.h"-
12-
13#ifndef OPENSSL_NO_IDEA-
14# include <openssl/evp.h>-
15# include <openssl/objects.h>-
16# include "internal/evp_int.h"-
17# include <openssl/idea.h>-
18-
19/* Can't use IMPLEMENT_BLOCK_CIPHER because IDEA_ecb_encrypt is different */-
20-
21typedef struct {-
22 IDEA_KEY_SCHEDULE ks;-
23} EVP_IDEA_KEY;-
24-
25static int idea_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,-
26 const unsigned char *iv, int enc);-
27-
28/*-
29 * NB IDEA_ecb_encrypt doesn't take an 'encrypt' argument so we treat it as a-
30 * special case-
31 */-
32-
33static int idea_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,-
34 const unsigned char *in, size_t inl)-
35{-
36 BLOCK_CIPHER_ecb_loop()
never executed: return 1;
inl < blDescription
TRUEnever evaluated
FALSEevaluated 129 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
i <= inlDescription
TRUEevaluated 1572 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 129 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1572
37 IDEA_ecb_encrypt(in + i, out + i, &EVP_C_DATA(EVP_IDEA_KEY,ctx)->ks);
executed 1572 times by 1 test: IDEA_ecb_encrypt(in + i, out + i, &((EVP_IDEA_KEY *)EVP_CIPHER_CTX_get_cipher_data(ctx))->ks);
Executed by:
  • libcrypto.so.1.1
1572
38 return 1;
executed 129 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
129
39}-
40-
41BLOCK_CIPHER_func_cbc(idea, IDEA, EVP_IDEA_KEY, ks)
never executed: end of block
executed 519 times by 1 test: IDEA_cbc_encrypt(in, out, (long)inl, &((EVP_IDEA_KEY *)EVP_CIPHER_CTX_get_cipher_data(ctx))->ks, EVP_CIPHER_CTX_iv_noconst(ctx), EVP_CIPHER_CTX_encrypting(ctx));
Executed by:
  • libcrypto.so.1.1
executed 519 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
inlDescription
TRUEevaluated 519 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
inl>=((size_t)...of(long)*8-2))Description
TRUEnever evaluated
FALSEevaluated 519 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-519
42BLOCK_CIPHER_func_ofb(idea, IDEA, 64, EVP_IDEA_KEY, ks)
never executed: end of block
executed 70 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
executed 70 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
inlDescription
TRUEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
inl>=((size_t)...of(long)*8-2))Description
TRUEnever evaluated
FALSEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-70
43BLOCK_CIPHER_func_cfb(idea, IDEA, 64, EVP_IDEA_KEY, ks)
never executed: chunk >>= 3;
executed 70 times by 1 test: chunk = inl;
Executed by:
  • libcrypto.so.1.1
executed 70 times by 1 test: chunk = inl;
Executed by:
  • libcrypto.so.1.1
executed 70 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
executed 70 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
64 == 1Description
TRUEnever evaluated
FALSEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
inl < chunkDescription
TRUEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
inl < chunkDescription
TRUEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
inlDescription
TRUEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
inl >= chunkDescription
TRUEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-70
44-
45BLOCK_CIPHER_defs(idea, IDEA_KEY_SCHEDULE, NID_idea, 8, 16, 8, 64,
executed 3920 times by 1 test: return &idea_cbc;
Executed by:
  • libcrypto.so.1.1
executed 1962 times by 1 test: return &idea_cfb64;
Executed by:
  • libcrypto.so.1.1
executed 1962 times by 1 test: return &idea_ofb;
Executed by:
  • libcrypto.so.1.1
executed 1962 times by 1 test: return &idea_ecb;
Executed by:
  • libcrypto.so.1.1
1962-3920
46 0, idea_init_key, NULL,-
47 EVP_CIPHER_set_asn1_iv, EVP_CIPHER_get_asn1_iv, NULL)-
48-
49static int idea_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,-
50 const unsigned char *iv, int enc)-
51{-
52 if (!enc) {
!encDescription
TRUEevaluated 83 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 141 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
83-141
53 if (EVP_CIPHER_CTX_mode(ctx) == EVP_CIPH_OFB_MODE)
(EVP_CIPHER_fl...xF0007) == 0x4Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 80 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
3-80
54 enc = 1;
executed 3 times by 1 test: enc = 1;
Executed by:
  • libcrypto.so.1.1
3
55 else if (EVP_CIPHER_CTX_mode(ctx) == EVP_CIPH_CFB_MODE)
(EVP_CIPHER_fl...xF0007) == 0x3Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 77 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
3-77
56 enc = 1;
executed 3 times by 1 test: enc = 1;
Executed by:
  • libcrypto.so.1.1
3
57 }
executed 83 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
83
58 if (enc)
encDescription
TRUEevaluated 147 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 77 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
77-147
59 IDEA_set_encrypt_key(key, &EVP_C_DATA(EVP_IDEA_KEY,ctx)->ks);
executed 147 times by 1 test: IDEA_set_encrypt_key(key, &((EVP_IDEA_KEY *)EVP_CIPHER_CTX_get_cipher_data(ctx))->ks);
Executed by:
  • libcrypto.so.1.1
147
60 else {-
61 IDEA_KEY_SCHEDULE tmp;-
62-
63 IDEA_set_encrypt_key(key, &tmp);-
64 IDEA_set_decrypt_key(&tmp, &EVP_C_DATA(EVP_IDEA_KEY,ctx)->ks);-
65 OPENSSL_cleanse((unsigned char *)&tmp, sizeof(IDEA_KEY_SCHEDULE));-
66 }
executed 77 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
77
67 return 1;
executed 224 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
224
68}-
69-
70#endif-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2