evp: prevent underflow in base64 decoding
[openssl.git] / crypto / dso / dso_err.c
index d7c6087a9d8073135e0e9ff6484e1e8fb25a11c3..2bb07c25143ab6c4502706b157311a1d7d6cc23c 100644 (file)
@@ -1,6 +1,6 @@
 /* crypto/dso/dso_err.c */
 /* ====================================================================
- * Copyright (c) 1999-2005 The OpenSSL Project.  All rights reserved.
+ * Copyright (c) 1999-2006 The OpenSSL Project.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -94,26 +94,31 @@ static ERR_STRING_DATA DSO_str_functs[]=
 {ERR_FUNC(DSO_F_DSO_FREE),     "DSO_free"},
 {ERR_FUNC(DSO_F_DSO_GET_FILENAME),     "DSO_get_filename"},
 {ERR_FUNC(DSO_F_DSO_GET_LOADED_FILENAME),      "DSO_get_loaded_filename"},
+{ERR_FUNC(DSO_F_DSO_GLOBAL_LOOKUP),    "DSO_global_lookup"},
 {ERR_FUNC(DSO_F_DSO_LOAD),     "DSO_load"},
 {ERR_FUNC(DSO_F_DSO_MERGE),    "DSO_merge"},
 {ERR_FUNC(DSO_F_DSO_NEW_METHOD),       "DSO_new_method"},
+{ERR_FUNC(DSO_F_DSO_PATHBYADDR),       "DSO_pathbyaddr"},
 {ERR_FUNC(DSO_F_DSO_SET_FILENAME),     "DSO_set_filename"},
 {ERR_FUNC(DSO_F_DSO_SET_NAME_CONVERTER),       "DSO_set_name_converter"},
 {ERR_FUNC(DSO_F_DSO_UP_REF),   "DSO_up_ref"},
+{ERR_FUNC(DSO_F_GLOBAL_LOOKUP_FUNC),   "GLOBAL_LOOKUP_FUNC"},
+{ERR_FUNC(DSO_F_PATHBYADDR),   "PATHBYADDR"},
 {ERR_FUNC(DSO_F_VMS_BIND_SYM), "VMS_BIND_SYM"},
 {ERR_FUNC(DSO_F_VMS_LOAD),     "VMS_LOAD"},
 {ERR_FUNC(DSO_F_VMS_MERGER),   "VMS_MERGER"},
 {ERR_FUNC(DSO_F_VMS_UNLOAD),   "VMS_UNLOAD"},
 {ERR_FUNC(DSO_F_WIN32_BIND_FUNC),      "WIN32_BIND_FUNC"},
 {ERR_FUNC(DSO_F_WIN32_BIND_VAR),       "WIN32_BIND_VAR"},
+{ERR_FUNC(DSO_F_WIN32_GLOBALLOOKUP),   "WIN32_GLOBALLOOKUP"},
+{ERR_FUNC(DSO_F_WIN32_GLOBALLOOKUP_FUNC),      "WIN32_GLOBALLOOKUP_FUNC"},
 {ERR_FUNC(DSO_F_WIN32_JOINER), "WIN32_JOINER"},
 {ERR_FUNC(DSO_F_WIN32_LOAD),   "WIN32_LOAD"},
 {ERR_FUNC(DSO_F_WIN32_MERGER), "WIN32_MERGER"},
 {ERR_FUNC(DSO_F_WIN32_NAME_CONVERTER), "WIN32_NAME_CONVERTER"},
+{ERR_FUNC(DSO_F_WIN32_PATHBYADDR),     "WIN32_PATHBYADDR"},
 {ERR_FUNC(DSO_F_WIN32_SPLITTER),       "WIN32_SPLITTER"},
 {ERR_FUNC(DSO_F_WIN32_UNLOAD), "WIN32_UNLOAD"},
-{ERR_FUNC(DSO_F_PATHBYADDR),   "DSO_pathbyaddr"},
-{ERR_FUNC(DSO_F_GLOBAL_LOOKUP_FUNC),   "DSO_global_lookup_func"},
 {0,NULL}
        };
 
@@ -143,15 +148,12 @@ static ERR_STRING_DATA DSO_str_reasons[]=
 
 void ERR_load_DSO_strings(void)
        {
-       static int init=1;
+#ifndef OPENSSL_NO_ERR
 
-       if (init)
+       if (ERR_func_error_string(DSO_str_functs[0].error) == NULL)
                {
-               init=0;
-#ifndef OPENSSL_NO_ERR
                ERR_load_strings(0,DSO_str_functs);
                ERR_load_strings(0,DSO_str_reasons);
-#endif
-
                }
+#endif
        }