Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/bf/bf_skey.c |
Source code | Switch to Preprocessed file |
Line | Source | Count | ||||||
---|---|---|---|---|---|---|---|---|
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 <stdio.h> | - | ||||||
11 | #include <string.h> | - | ||||||
12 | #include <openssl/blowfish.h> | - | ||||||
13 | #include "bf_locl.h" | - | ||||||
14 | #include "bf_pi.h" | - | ||||||
15 | - | |||||||
16 | void BF_set_key(BF_KEY *key, int len, const unsigned char *data) | - | ||||||
17 | { | - | ||||||
18 | int i; | - | ||||||
19 | BF_LONG *p, ri, in[2]; | - | ||||||
20 | const unsigned char *d, *end; | - | ||||||
21 | - | |||||||
22 | memcpy(key, &bf_init, sizeof(BF_KEY)); | - | ||||||
23 | p = key->P; | - | ||||||
24 | - | |||||||
25 | if (len > ((BF_ROUNDS + 2) * 4))
| 0-95 | ||||||
26 | len = (BF_ROUNDS + 2) * 4; never executed: len = (16 + 2) * 4; | 0 | ||||||
27 | - | |||||||
28 | d = data; | - | ||||||
29 | end = &(data[len]); | - | ||||||
30 | for (i = 0; i < (BF_ROUNDS + 2); i++) {
| 95-1710 | ||||||
31 | ri = *(d++); | - | ||||||
32 | if (d >= end)
| 41-1669 | ||||||
33 | d = data; executed 41 times by 1 test: d = data; Executed by:
| 41 | ||||||
34 | - | |||||||
35 | ri <<= 8; | - | ||||||
36 | ri |= *(d++); | - | ||||||
37 | if (d >= end)
| 78-1632 | ||||||
38 | d = data; executed 78 times by 1 test: d = data; Executed by:
| 78 | ||||||
39 | - | |||||||
40 | ri <<= 8; | - | ||||||
41 | ri |= *(d++); | - | ||||||
42 | if (d >= end)
| 41-1669 | ||||||
43 | d = data; executed 41 times by 1 test: d = data; Executed by:
| 41 | ||||||
44 | - | |||||||
45 | ri <<= 8; | - | ||||||
46 | ri |= *(d++); | - | ||||||
47 | if (d >= end)
| 558-1152 | ||||||
48 | d = data; executed 558 times by 1 test: d = data; Executed by:
| 558 | ||||||
49 | - | |||||||
50 | p[i] ^= ri; | - | ||||||
51 | } executed 1710 times by 1 test: end of block Executed by:
| 1710 | ||||||
52 | - | |||||||
53 | in[0] = 0L; | - | ||||||
54 | in[1] = 0L; | - | ||||||
55 | for (i = 0; i < (BF_ROUNDS + 2); i += 2) {
| 95-855 | ||||||
56 | BF_encrypt(in, key); | - | ||||||
57 | p[i] = in[0]; | - | ||||||
58 | p[i + 1] = in[1]; | - | ||||||
59 | } executed 855 times by 1 test: end of block Executed by:
| 855 | ||||||
60 | - | |||||||
61 | p = key->S; | - | ||||||
62 | for (i = 0; i < 4 * 256; i += 2) {
| 95-48640 | ||||||
63 | BF_encrypt(in, key); | - | ||||||
64 | p[i] = in[0]; | - | ||||||
65 | p[i + 1] = in[1]; | - | ||||||
66 | } executed 48640 times by 1 test: end of block Executed by:
| 48640 | ||||||
67 | } executed 95 times by 1 test: end of block Executed by:
| 95 | ||||||
Source code | Switch to Preprocessed file |