OpenCoverage

ofb64enc.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/des/ofb64enc.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 "des_locl.h"-
11-
12/*-
13 * The input and output encrypted as though 64bit ofb mode is being used.-
14 * The extra state information to record how much of the 64bit block we have-
15 * used is contained in *num;-
16 */-
17void DES_ofb64_encrypt(register const unsigned char *in,-
18 register unsigned char *out, long length,-
19 DES_key_schedule *schedule, DES_cblock *ivec, int *num)-
20{-
21 register DES_LONG v0, v1, t;-
22 register int n = *num;-
23 register long l = length;-
24 DES_cblock d;-
25 register unsigned char *dp;-
26 DES_LONG ti[2];-
27 unsigned char *iv;-
28 int save = 0;-
29-
30 iv = &(*ivec)[0];-
31 c2l(iv, v0);-
32 c2l(iv, v1);-
33 ti[0] = v0;-
34 ti[1] = v1;-
35 dp = d;-
36 l2c(v0, dp);-
37 l2c(v1, dp);-
38 while (l--) {
l--Description
TRUEevaluated 12604 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 95 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
95-12604
39 if (n == 0) {
n == 0Description
TRUEevaluated 1576 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 11028 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
1576-11028
40 DES_encrypt1(ti, schedule, DES_ENCRYPT);-
41 dp = d;-
42 t = ti[0];-
43 l2c(t, dp);-
44 t = ti[1];-
45 l2c(t, dp);-
46 save++;-
47 }
executed 1576 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
1576
48 *(out++) = *(in++) ^ d[n];-
49 n = (n + 1) & 0x07;-
50 }
executed 12604 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
12604
51 if (save) {
saveDescription
TRUEevaluated 74 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 21 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
21-74
52 v0 = ti[0];-
53 v1 = ti[1];-
54 iv = &(*ivec)[0];-
55 l2c(v0, iv);-
56 l2c(v1, iv);-
57 }
executed 74 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
74
58 t = v0 = v1 = ti[0] = ti[1] = 0;-
59 *num = n;-
60}
executed 95 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
95
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2