Coverage Report

Created: 2018-08-29 13:53

/src/openssl/crypto/dh/dh_rfc5114.c
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright 2011-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 "internal/cryptlib.h"
12
#include "dh_locl.h"
13
#include <openssl/bn.h>
14
#include "internal/bn_dh.h"
15
16
/*
17
 * Macro to make a DH structure from BIGNUM data. NB: although just copying
18
 * the BIGNUM static pointers would be more efficient, we can't do that
19
 * because they get wiped using BN_clear_free() when DH_free() is called.
20
 */
21
22
#define make_dh(x) \
23
0
DH *DH_get_##x(void) \
24
0
{ \
25
0
    DH *dh = DH_new(); \
26
0
\
27
0
    if (dh == NULL) \
28
0
        return NULL; \
29
0
    dh->p = BN_dup(&_bignum_dh##x##_p); \
30
0
    dh->g = BN_dup(&_bignum_dh##x##_g); \
31
0
    dh->q = BN_dup(&_bignum_dh##x##_q); \
32
0
    if (dh->p == NULL || dh->q == NULL || dh->g == NULL) {\
33
0
        DH_free(dh); \
34
0
        return NULL; \
35
0
    } \
36
0
    return dh; \
37
0
}
Unexecuted instantiation: DH_get_1024_160
Unexecuted instantiation: DH_get_2048_224
Unexecuted instantiation: DH_get_2048_256
38
39
make_dh(1024_160)
40
make_dh(2048_224)
41
make_dh(2048_256)