Use error table to determine if errors should be loaded.

This commit is contained in:
Dr. Stephen Henson 2006-11-21 19:19:09 +00:00
parent 0e5d87d76f
commit f6cdaa96c0
2 changed files with 9 additions and 8 deletions

View file

@ -4,6 +4,10 @@
Changes between 0.9.7l and 0.9.7m [xx XXX xxxx] Changes between 0.9.7l and 0.9.7m [xx XXX xxxx]
*) Load error codes if they are not already present instead of using a
static variable. This allows them to be cleanly unloaded and reloaded.
[Steve Henson]
Changes between 0.9.7k and 0.9.7l [28 Sep 2006] Changes between 0.9.7k and 0.9.7l [28 Sep 2006]
*) Introduce limits to prevent malicious keys being able to *) Introduce limits to prevent malicious keys being able to

View file

@ -422,7 +422,7 @@ EOF
print OUT <<"EOF"; print OUT <<"EOF";
/* $cfile */ /* $cfile */
/* ==================================================================== /* ====================================================================
* 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 * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions
@ -536,17 +536,14 @@ if($static) {
${staticloader}void ERR_load_${lib}_strings(void) ${staticloader}void ERR_load_${lib}_strings(void)
{ {
static int init=1;
if (init)
{
init=0;
#ifndef OPENSSL_NO_ERR #ifndef OPENSSL_NO_ERR
if (ERR_func_error_string(${lib}_str_functs[0].error) == NULL)
{
ERR_load_strings($load_errcode,${lib}_str_functs); ERR_load_strings($load_errcode,${lib}_str_functs);
ERR_load_strings($load_errcode,${lib}_str_reasons); ERR_load_strings($load_errcode,${lib}_str_reasons);
#endif
} }
#endif
} }
EOF EOF
} else { } else {