OpenCoverage

bf_ofb64.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/bf/bf_ofb64.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/blowfish.h>-
11#include "bf_locl.h"-
12-
13/*-
14 * The input and output encrypted as though 64bit ofb 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 */-
18void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out,-
19 long length, const BF_KEY *schedule,-
20 unsigned char *ivec, int *num)-
21{-
22 register BF_LONG v0, v1, t;-
23 register int n = *num;-
24 register long l = length;-
25 unsigned char d[8];-
26 register char *dp;-
27 BF_LONG ti[2];-
28 unsigned char *iv;-
29 int save = 0;-
30-
31 iv = (unsigned char *)ivec;-
32 n2l(iv, v0);-
33 n2l(iv, v1);-
34 ti[0] = v0;-
35 ti[1] = v1;-
36 dp = (char *)d;-
37 l2n(v0, dp);-
38 l2n(v1, dp);-
39 while (l--) {
l--Description
TRUEevaluated 12614 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 74 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
74-12614
40 if (n == 0) {
n == 0Description
TRUEevaluated 1578 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 11036 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
1578-11036
41 BF_encrypt((BF_LONG *)ti, schedule);-
42 dp = (char *)d;-
43 t = ti[0];-
44 l2n(t, dp);-
45 t = ti[1];-
46 l2n(t, dp);-
47 save++;-
48 }
executed 1578 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
1578
49 *(out++) = *(in++) ^ d[n];-
50 n = (n + 1) & 0x07;-
51 }
executed 12614 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
12614
52 if (save) {
saveDescription
TRUEevaluated 74 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-74
53 v0 = ti[0];-
54 v1 = ti[1];-
55 iv = (unsigned char *)ivec;-
56 l2n(v0, iv);-
57 l2n(v1, iv);-
58 }
executed 74 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
74
59 t = v0 = v1 = ti[0] = ti[1] = 0;-
60 *num = n;-
61}
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