OpenCoverage

c_ofb64.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/cast/c_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/cast.h>-
11#include "cast_lcl.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 CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out,-
19 long length, const CAST_KEY *schedule,-
20 unsigned char *ivec, int *num)-
21{-
22 register CAST_LONG v0, v1, t;-
23 register int n = *num;-
24 register long l = length;-
25 unsigned char d[8];-
26 register char *dp;-
27 CAST_LONG ti[2];-
28 unsigned char *iv;-
29 int save = 0;-
30-
31 iv = 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 12556 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
70-12556
40 if (n == 0) {
n == 0Description
TRUEevaluated 1570 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 10986 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
1570-10986
41 CAST_encrypt((CAST_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 1570 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
1570
49 *(out++) = *(in++) ^ d[n];-
50 n = (n + 1) & 0x07;-
51 }
executed 12556 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
12556
52 if (save) {
saveDescription
TRUEevaluated 70 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-70
53 v0 = ti[0];-
54 v1 = ti[1];-
55 iv = ivec;-
56 l2n(v0, iv);-
57 l2n(v1, iv);-
58 }
executed 70 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
70
59 t = v0 = v1 = ti[0] = ti[1] = 0;-
60 *num = n;-
61}
executed 70 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
70
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2