OpenCoverage

cbc_cksm.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/des/cbc_cksm.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-
12DES_LONG DES_cbc_cksum(const unsigned char *in, DES_cblock *output,-
13 long length, DES_key_schedule *schedule,-
14 const_DES_cblock *ivec)-
15{-
16 register DES_LONG tout0, tout1, tin0, tin1;-
17 register long l = length;-
18 DES_LONG tin[2];-
19 unsigned char *out = &(*output)[0];-
20 const unsigned char *iv = &(*ivec)[0];-
21-
22 c2l(iv, tout0);-
23 c2l(iv, tout1);-
24 for (; l > 0; l -= 8) {
l > 0Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
1-4
25 if (l >= 8) {
l >= 8Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
1-3
26 c2l(in, tin0);-
27 c2l(in, tin1);-
28 } else
executed 3 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
3
29 c2ln(in, tin0, tin1, l);
executed 1 time by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
executed 1 time by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
code before this statement never executed: case 7:
code before this statement never executed: case 6:
code before this statement never executed: case 5:
code before this statement never executed: case 4:
code before this statement executed 1 time by 1 test: case 3:
Executed by:
  • libcrypto.so.1.1
code before this statement executed 1 time by 1 test: case 2:
Executed by:
  • libcrypto.so.1.1
code before this statement executed 1 time by 1 test: case 1:
Executed by:
  • libcrypto.so.1.1
never executed: case 8:
never executed: case 7:
never executed: case 6:
never executed: case 5:
executed 1 time by 1 test: case 4:
Executed by:
  • libcrypto.so.1.1
never executed: case 3:
never executed: case 2:
executed 1 time by 1 test: case 1:
Executed by:
  • libcrypto.so.1.1
0-1
30-
31 tin0 ^= tout0;-
32 tin[0] = tin0;-
33 tin1 ^= tout1;-
34 tin[1] = tin1;-
35 DES_encrypt1((DES_LONG *)tin, schedule, DES_ENCRYPT);-
36 tout0 = tin[0];-
37 tout1 = tin[1];-
38 }
executed 4 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
4
39 if (out != NULL) {
out != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-1
40 l2c(tout0, out);-
41 l2c(tout1, out);-
42 }
executed 1 time by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
1
43 tout0 = tin0 = tin1 = tin[0] = tin[1] = 0;-
44 /*-
45 * Transform the data in tout1 so that it will match the return value-
46 * that the MIT Kerberos mit_des_cbc_cksum API returns.-
47 */-
48 tout1 = ((tout1 >> 24L) & 0x000000FF)-
49 | ((tout1 >> 8L) & 0x0000FF00)-
50 | ((tout1 << 8L) & 0x00FF0000)-
51 | ((tout1 << 24L) & 0xFF000000);-
52 return tout1;
executed 1 time by 1 test: return tout1;
Executed by:
  • libcrypto.so.1.1
1
53}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2