OpenCoverage

ui_util.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/ui/ui_util.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* $OpenBSD: ui_util.c,v 1.10 2015/09/10 15:56:26 jsing Exp $ */-
2/* ====================================================================-
3 * Copyright (c) 2001-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#include <string.h>-
57-
58#include <openssl/ui_compat.h>-
59-
60#include "ui_locl.h"-
61-
62int-
63UI_UTIL_read_pw_string(char *buf, int length, const char *prompt, int verify)-
64{-
65 char buff[BUFSIZ];-
66 int ret;-
67-
68 ret = UI_UTIL_read_pw(buf, buff, (length > BUFSIZ) ? BUFSIZ : length,-
69 prompt, verify);-
70 explicit_bzero(buff, BUFSIZ);-
71 return (ret);
never executed: return (ret);
0
72}-
73-
74int-
75UI_UTIL_read_pw(char *buf, char *buff, int size, const char *prompt, int verify)-
76{-
77 int ok = 0;-
78 UI *ui;-
79-
80 if (size < 1)
size < 1Description
TRUEnever evaluated
FALSEnever evaluated
0
81 return -1;
never executed: return -1;
0
82-
83 ui = UI_new();-
84 if (ui) {
uiDescription
TRUEnever evaluated
FALSEnever evaluated
0
85 ok = UI_add_input_string(ui, prompt, 0, buf, 0, size - 1);-
86 if (ok >= 0 && verify)
ok >= 0Description
TRUEnever evaluated
FALSEnever evaluated
verifyDescription
TRUEnever evaluated
FALSEnever evaluated
0
87 ok = UI_add_verify_string(ui, prompt, 0, buff, 0,
never executed: ok = UI_add_verify_string(ui, prompt, 0, buff, 0, size - 1, buf);
0
88 size - 1, buf);
never executed: ok = UI_add_verify_string(ui, prompt, 0, buff, 0, size - 1, buf);
0
89 if (ok >= 0)
ok >= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
90 ok = UI_process(ui);
never executed: ok = UI_process(ui);
0
91 UI_free(ui);-
92 }
never executed: end of block
0
93 if (ok > 0)
ok > 0Description
TRUEnever evaluated
FALSEnever evaluated
0
94 ok = 0;
never executed: ok = 0;
0
95 return (ok);
never executed: return (ok);
0
96}-
97-
98/*-
99 * Old compatibility glue - see comment in ui_compat.h.-
100 */-
101int-
102_ossl_old_des_read_pw_string(char *buf, int length, const char *prompt, int verify)-
103{-
104 return UI_UTIL_read_pw_string(buf, length, prompt, verify);
never executed: return UI_UTIL_read_pw_string(buf, length, prompt, verify);
0
105}-
106-
107int-
108_ossl_old_des_read_pw(char *buf, char *buff, int size, const char *prompt, int verify)-
109{-
110 return UI_UTIL_read_pw(buf, buff, size, prompt, verify);
never executed: return UI_UTIL_read_pw(buf, buff, size, prompt, verify);
0
111}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2