Add some error messages for malloc fails
[openssl.git] / crypto / ui / ui_err.c
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 <openssl/err.h>
12 #include <openssl/ui.h>
13
14 /* BEGIN ERROR CODES */
15 #ifndef OPENSSL_NO_ERR
16
17 # define ERR_FUNC(func) ERR_PACK(ERR_LIB_UI,func,0)
18 # define ERR_REASON(reason) ERR_PACK(ERR_LIB_UI,0,reason)
19
20 static ERR_STRING_DATA UI_str_functs[] = {
21     {ERR_FUNC(UI_F_GENERAL_ALLOCATE_BOOLEAN), "general_allocate_boolean"},
22     {ERR_FUNC(UI_F_GENERAL_ALLOCATE_PROMPT), "general_allocate_prompt"},
23     {ERR_FUNC(UI_F_GENERAL_ALLOCATE_STRING), "GENERAL_ALLOCATE_STRING"},
24     {ERR_FUNC(UI_F_UI_CREATE_METHOD), "UI_create_method"},
25     {ERR_FUNC(UI_F_UI_CTRL), "UI_ctrl"},
26     {ERR_FUNC(UI_F_UI_DUP_ERROR_STRING), "UI_dup_error_string"},
27     {ERR_FUNC(UI_F_UI_DUP_INFO_STRING), "UI_dup_info_string"},
28     {ERR_FUNC(UI_F_UI_DUP_INPUT_BOOLEAN), "UI_dup_input_boolean"},
29     {ERR_FUNC(UI_F_UI_DUP_INPUT_STRING), "UI_dup_input_string"},
30     {ERR_FUNC(UI_F_UI_DUP_VERIFY_STRING), "UI_dup_verify_string"},
31     {ERR_FUNC(UI_F_UI_GET0_RESULT), "UI_get0_result"},
32     {ERR_FUNC(UI_F_UI_NEW_METHOD), "UI_new_method"},
33     {ERR_FUNC(UI_F_UI_SET_RESULT), "UI_set_result"},
34     {0, NULL}
35 };
36
37 static ERR_STRING_DATA UI_str_reasons[] = {
38     {ERR_REASON(UI_R_COMMON_OK_AND_CANCEL_CHARACTERS),
39      "common ok and cancel characters"},
40     {ERR_REASON(UI_R_INDEX_TOO_LARGE), "index too large"},
41     {ERR_REASON(UI_R_INDEX_TOO_SMALL), "index too small"},
42     {ERR_REASON(UI_R_NO_RESULT_BUFFER), "no result buffer"},
43     {ERR_REASON(UI_R_RESULT_TOO_LARGE), "result too large"},
44     {ERR_REASON(UI_R_RESULT_TOO_SMALL), "result too small"},
45     {ERR_REASON(UI_R_UNKNOWN_CONTROL_COMMAND), "unknown control command"},
46     {0, NULL}
47 };
48
49 #endif
50
51 void ERR_load_UI_strings(void)
52 {
53 #ifndef OPENSSL_NO_ERR
54
55     if (ERR_func_error_string(UI_str_functs[0].error) == NULL) {
56         ERR_load_strings(0, UI_str_functs);
57         ERR_load_strings(0, UI_str_reasons);
58     }
59 #endif
60 }