OpenCoverage

i_cfb64.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/idea/i_cfb64.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 <openssl/idea.h>-
11#include "idea_lcl.h"-
12-
13/*-
14 * The input and output encrypted as though 64bit cfb mode is being used.-
15 * The extra state information to record how much of the 64bit block we have-
16 * used is contained in *num;-
17 */-
18-
19void IDEA_cfb64_encrypt(const unsigned char *in, unsigned char *out,-
20 long length, IDEA_KEY_SCHEDULE *schedule,-
21 unsigned char *ivec, int *num, int encrypt)-
22{-
23 register unsigned long v0, v1, t;-
24 register int n = *num;-
25 register long l = length;-
26 unsigned long ti[2];-
27 unsigned char *iv, c, cc;-
28-
29 iv = (unsigned char *)ivec;-
30 if (encrypt) {
encryptDescription
TRUEevaluated 43 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 31 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
31-43
31 while (l--) {
l--Description
TRUEevaluated 6302 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 43 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
43-6302
32 if (n == 0) {
n == 0Description
TRUEevaluated 788 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 5514 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
788-5514
33 n2l(iv, v0);-
34 ti[0] = v0;-
35 n2l(iv, v1);-
36 ti[1] = v1;-
37 IDEA_encrypt((unsigned long *)ti, schedule);-
38 iv = (unsigned char *)ivec;-
39 t = ti[0];-
40 l2n(t, iv);-
41 t = ti[1];-
42 l2n(t, iv);-
43 iv = (unsigned char *)ivec;-
44 }
executed 788 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
788
45 c = *(in++) ^ iv[n];-
46 *(out++) = c;-
47 iv[n] = c;-
48 n = (n + 1) & 0x07;-
49 }
executed 6302 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
6302
50 } else {
executed 43 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
43
51 while (l--) {
l--Description
TRUEevaluated 6302 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 31 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
31-6302
52 if (n == 0) {
n == 0Description
TRUEevaluated 788 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 5514 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
788-5514
53 n2l(iv, v0);-
54 ti[0] = v0;-
55 n2l(iv, v1);-
56 ti[1] = v1;-
57 IDEA_encrypt((unsigned long *)ti, schedule);-
58 iv = (unsigned char *)ivec;-
59 t = ti[0];-
60 l2n(t, iv);-
61 t = ti[1];-
62 l2n(t, iv);-
63 iv = (unsigned char *)ivec;-
64 }
executed 788 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
788
65 cc = *(in++);-
66 c = iv[n];-
67 iv[n] = cc;-
68 *(out++) = c ^ cc;-
69 n = (n + 1) & 0x07;-
70 }
executed 6302 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
6302
71 }
executed 31 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
31
72 v0 = v1 = ti[0] = ti[1] = t = c = cc = 0;-
73 *num = n;-
74}
executed 74 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
74
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2