OpenCoverage

bss_null.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bio/bss_null.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* $OpenBSD: bss_null.c,v 1.11 2018/05/01 13:29:10 tb Exp $ */-
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)-
3 * All rights reserved.-
4 *-
5 * This package is an SSL implementation written-
6 * by Eric Young (eay@cryptsoft.com).-
7 * The implementation was written so as to conform with Netscapes SSL.-
8 * -
9 * This library is free for commercial and non-commercial use as long as-
10 * the following conditions are aheared to. The following conditions-
11 * apply to all code found in this distribution, be it the RC4, RSA,-
12 * lhash, DES, etc., code; not just the SSL code. The SSL documentation-
13 * included with this distribution is covered by the same copyright terms-
14 * except that the holder is Tim Hudson (tjh@cryptsoft.com).-
15 * -
16 * Copyright remains Eric Young's, and as such any Copyright notices in-
17 * the code are not to be removed.-
18 * If this package is used in a product, Eric Young should be given attribution-
19 * as the author of the parts of the library used.-
20 * This can be in the form of a textual message at program startup or-
21 * in documentation (online or textual) provided with the package.-
22 * -
23 * Redistribution and use in source and binary forms, with or without-
24 * modification, are permitted provided that the following conditions-
25 * are met:-
26 * 1. Redistributions of source code must retain the copyright-
27 * notice, this list of conditions and the following disclaimer.-
28 * 2. Redistributions in binary form must reproduce the above copyright-
29 * notice, this list of conditions and the following disclaimer in the-
30 * documentation and/or other materials provided with the distribution.-
31 * 3. All advertising materials mentioning features or use of this software-
32 * must display the following acknowledgement:-
33 * "This product includes cryptographic software written by-
34 * Eric Young (eay@cryptsoft.com)"-
35 * The word 'cryptographic' can be left out if the rouines from the library-
36 * being used are not cryptographic related :-).-
37 * 4. If you include any Windows specific code (or a derivative thereof) from -
38 * the apps directory (application code) you must include an acknowledgement:-
39 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"-
40 * -
41 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND-
42 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE-
43 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE-
44 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE-
45 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL-
46 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS-
47 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)-
48 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT-
49 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY-
50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF-
51 * SUCH DAMAGE.-
52 * -
53 * The licence and distribution terms for any publically available version or-
54 * derivative of this code cannot be changed. i.e. this code cannot simply be-
55 * copied and put under another distribution licence-
56 * [including the GNU Public Licence.]-
57 */-
58-
59#include <errno.h>-
60#include <stdio.h>-
61#include <string.h>-
62-
63#include <openssl/bio.h>-
64-
65static int null_write(BIO *h, const char *buf, int num);-
66static int null_read(BIO *h, char *buf, int size);-
67static int null_puts(BIO *h, const char *str);-
68static int null_gets(BIO *h, char *str, int size);-
69static long null_ctrl(BIO *h, int cmd, long arg1, void *arg2);-
70static int null_new(BIO *h);-
71static int null_free(BIO *data);-
72-
73static const BIO_METHOD null_method = {-
74 .type = BIO_TYPE_NULL,-
75 .name = "NULL",-
76 .bwrite = null_write,-
77 .bread = null_read,-
78 .bputs = null_puts,-
79 .bgets = null_gets,-
80 .ctrl = null_ctrl,-
81 .create = null_new,-
82 .destroy = null_free-
83};-
84-
85const BIO_METHOD *-
86BIO_s_null(void)-
87{-
88 return (&null_method);
executed 1 time by 1 test: return (&null_method);
Executed by:
  • pkcs7test
1
89}-
90-
91static int-
92null_new(BIO *bi)-
93{-
94 bi->init = 1;-
95 bi->num = 0;-
96 bi->ptr = (NULL);-
97 return (1);
executed 1 time by 1 test: return (1);
Executed by:
  • pkcs7test
1
98}-
99-
100static int-
101null_free(BIO *a)-
102{-
103 if (a == NULL)
a == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • pkcs7test
0-1
104 return (0);
never executed: return (0);
0
105 return (1);
executed 1 time by 1 test: return (1);
Executed by:
  • pkcs7test
1
106}-
107-
108static int-
109null_read(BIO *b, char *out, int outl)-
110{-
111 return (0);
never executed: return (0);
0
112}-
113-
114static int-
115null_write(BIO *b, const char *in, int inl)-
116{-
117 return (inl);
executed 1 time by 1 test: return (inl);
Executed by:
  • pkcs7test
1
118}-
119-
120static long-
121null_ctrl(BIO *b, int cmd, long num, void *ptr)-
122{-
123 long ret = 1;-
124-
125 switch (cmd) {-
126 case BIO_CTRL_RESET:
never executed: case 1:
0
127 case BIO_CTRL_EOF:
never executed: case 2:
0
128 case BIO_CTRL_SET:
never executed: case 4:
0
129 case BIO_CTRL_SET_CLOSE:
never executed: case 9:
0
130 case BIO_CTRL_FLUSH:
executed 2 times by 1 test: case 11:
Executed by:
  • pkcs7test
2
131 case BIO_CTRL_DUP:
never executed: case 12:
0
132 ret = 1;-
133 break;
executed 2 times by 1 test: break;
Executed by:
  • pkcs7test
2
134 case BIO_CTRL_GET_CLOSE:
never executed: case 8:
0
135 case BIO_CTRL_INFO:
never executed: case 3:
0
136 case BIO_CTRL_GET:
never executed: case 5:
0
137 case BIO_CTRL_PENDING:
never executed: case 10:
0
138 case BIO_CTRL_WPENDING:
never executed: case 13:
0
139 default:
executed 3 times by 1 test: default:
Executed by:
  • pkcs7test
3
140 ret = 0;-
141 break;
executed 3 times by 1 test: break;
Executed by:
  • pkcs7test
3
142 }-
143 return (ret);
executed 5 times by 1 test: return (ret);
Executed by:
  • pkcs7test
5
144}-
145-
146static int-
147null_gets(BIO *bp, char *buf, int size)-
148{-
149 return (0);
never executed: return (0);
0
150}-
151-
152static int-
153null_puts(BIO *bp, const char *str)-
154{-
155 if (str == NULL)
str == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
156 return (0);
never executed: return (0);
0
157 return (strlen(str));
never executed: return (strlen(str));
0
158}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2