OpenCoverage

bn_depr.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bn/bn_depr.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* $OpenBSD: bn_depr.c,v 1.7 2014/10/18 17:20:40 jsing Exp $ */-
2/* ====================================================================-
3 * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.-
4 *-
5 * Redistribution and use in source and binary forms, with or without-
6 * modification, are permitted provided that the following conditions-
7 * are met:-
8 *-
9 * 1. Redistributions of source code must retain the above copyright-
10 * notice, this list of conditions and the following disclaimer.-
11 *-
12 * 2. Redistributions in binary form must reproduce the above copyright-
13 * notice, this list of conditions and the following disclaimer in-
14 * the documentation and/or other materials provided with the-
15 * distribution.-
16 *-
17 * 3. All advertising materials mentioning features or use of this-
18 * software must display the following acknowledgment:-
19 * "This product includes software developed by the OpenSSL Project-
20 * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"-
21 *-
22 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to-
23 * endorse or promote products derived from this software without-
24 * prior written permission. For written permission, please contact-
25 * openssl-core@openssl.org.-
26 *-
27 * 5. Products derived from this software may not be called "OpenSSL"-
28 * nor may "OpenSSL" appear in their names without prior written-
29 * permission of the OpenSSL Project.-
30 *-
31 * 6. Redistributions of any form whatsoever must retain the following-
32 * acknowledgment:-
33 * "This product includes software developed by the OpenSSL Project-
34 * for use in the OpenSSL Toolkit (http://www.openssl.org/)"-
35 *-
36 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY-
37 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE-
38 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR-
39 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR-
40 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,-
41 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT-
42 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;-
43 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)-
44 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,-
45 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)-
46 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED-
47 * OF THE POSSIBILITY OF SUCH DAMAGE.-
48 * ====================================================================-
49 *-
50 * This product includes cryptographic software written by Eric Young-
51 * (eay@cryptsoft.com). This product includes software written by Tim-
52 * Hudson (tjh@cryptsoft.com).-
53 *-
54 */-
55-
56/* Support for deprecated functions goes here - static linkage will only slurp-
57 * this code if applications are using them directly. */-
58-
59#include <stdio.h>-
60#include <time.h>-
61-
62#include <openssl/opensslconf.h>-
63-
64#include "bn_lcl.h"-
65-
66#ifndef OPENSSL_NO_DEPRECATED-
67BIGNUM *-
68BN_generate_prime(BIGNUM *ret, int bits, int safe, const BIGNUM *add,-
69 const BIGNUM *rem, void (*callback)(int, int, void *), void *cb_arg)-
70{-
71 BN_GENCB cb;-
72 BIGNUM *rnd = NULL;-
73 int found = 0;-
74-
75 BN_GENCB_set_old(&cb, callback, cb_arg);-
76-
77 if (ret == NULL) {
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
78 if ((rnd = BN_new()) == NULL)
(rnd = BN_new(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
79 goto err;
never executed: goto err;
0
80 } else
never executed: end of block
0
81 rnd = ret;
never executed: rnd = ret;
0
82 if (!BN_generate_prime_ex(rnd, bits, safe, add, rem, &cb))
!BN_generate_p...add, rem, &cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
83 goto err;
never executed: goto err;
0
84-
85 /* we have a prime :-) */-
86 found = 1;-
87-
88err:
code before this statement never executed: err:
0
89 if (!found && (ret == NULL) && (rnd != NULL))
!foundDescription
TRUEnever evaluated
FALSEnever evaluated
(ret == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
(rnd != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
90 BN_free(rnd);
never executed: BN_free(rnd);
0
91 return (found ? rnd : NULL);
never executed: return (found ? rnd : ((void *)0) );
foundDescription
TRUEnever evaluated
FALSEnever evaluated
0
92}-
93-
94int-
95BN_is_prime(const BIGNUM *a, int checks, void (*callback)(int, int, void *),-
96 BN_CTX *ctx_passed, void *cb_arg)-
97{-
98 BN_GENCB cb;-
99-
100 BN_GENCB_set_old(&cb, callback, cb_arg);-
101 return BN_is_prime_ex(a, checks, ctx_passed, &cb);
never executed: return BN_is_prime_ex(a, checks, ctx_passed, &cb);
0
102}-
103-
104int-
105BN_is_prime_fasttest(const BIGNUM *a, int checks,-
106 void (*callback)(int, int, void *), BN_CTX *ctx_passed, void *cb_arg,-
107 int do_trial_division)-
108{-
109 BN_GENCB cb;-
110-
111 BN_GENCB_set_old(&cb, callback, cb_arg);-
112 return BN_is_prime_fasttest_ex(a, checks, ctx_passed,
never executed: return BN_is_prime_fasttest_ex(a, checks, ctx_passed, do_trial_division, &cb);
0
113 do_trial_division, &cb);
never executed: return BN_is_prime_fasttest_ex(a, checks, ctx_passed, do_trial_division, &cb);
0
114}-
115#endif-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2