OpenSSL copyright notices ...
[openssl.git] / crypto / ex_data.c
index af8ee704d740e16c4cee16f47fce7eecb623b847..a135858c696e9d8c83fdf658d5f83015cc9a03b3 100644 (file)
  * copied and put under another distribution licence
  * [including the GNU Public Licence.]
  */
+/* ====================================================================
+ * Copyright (c) 1998-2001 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
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    openssl-core@openssl.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -226,10 +279,10 @@ static int ex_data_check(void)
 #define EX_DATA_CHECK(iffail) if(!ex_data && !ex_data_check()) {iffail}
 
 /* This "inner" callback is used by the callback function that follows it */
-static void def_cleanup_util_cb(void *a_void)
+static void def_cleanup_util_cb(void *v)
        {
-       CRYPTO_EX_DATA_FUNCS *v = (CRYPTO_EX_DATA_FUNCS *)a_void;
-       OPENSSL_free(v);
+       CRYPTO_EX_DATA_FUNCS *funcs = (CRYPTO_EX_DATA_FUNCS *)v;
+       OPENSSL_free(funcs);
        }
 
 /* This callback is used in lh_doall to destroy all EX_CLASS_ITEM values from
@@ -350,7 +403,7 @@ static int int_get_new_index(int class_index, long argl, void *argp,
 static int int_new_ex_data(int class_index, void *obj,
                CRYPTO_EX_DATA *ad)
        {
-       int max,i;
+       int mx,i;
        void *ptr;
        CRYPTO_EX_DATA_FUNCS **storage = NULL;
        EX_CLASS_ITEM *item = def_get_class(class_index);
@@ -359,23 +412,23 @@ static int int_new_ex_data(int class_index, void *obj,
                return 0;
        ad->sk = NULL;
        CRYPTO_r_lock(CRYPTO_LOCK_EX_DATA);
-       max = sk_CRYPTO_EX_DATA_FUNCS_num(item->meth);
-       if(max > 0)
+       mx = sk_CRYPTO_EX_DATA_FUNCS_num(item->meth);
+       if(mx > 0)
                {
-               storage = OPENSSL_malloc(max * sizeof(CRYPTO_EX_DATA_FUNCS*));
+               storage = OPENSSL_malloc(mx * sizeof(CRYPTO_EX_DATA_FUNCS*));
                if(!storage)
                        goto skip;
-               for(i = 0; i < max; i++)
+               for(i = 0; i < mx; i++)
                        storage[i] = sk_CRYPTO_EX_DATA_FUNCS_value(item->meth,i);
                }
 skip:
        CRYPTO_r_unlock(CRYPTO_LOCK_EX_DATA);
-       if((max > 0) && !storage)
+       if((mx > 0) && !storage)
                {
                CRYPTOerr(CRYPTO_F_INT_NEW_EX_DATA,ERR_R_MALLOC_FAILURE);
                return 0;
                }
-       for(i = 0; i < max; i++)
+       for(i = 0; i < mx; i++)
                {
                if(storage[i] && storage[i]->new_func)
                        {
@@ -393,7 +446,7 @@ skip:
 static int int_dup_ex_data(int class_index, CRYPTO_EX_DATA *to,
                CRYPTO_EX_DATA *from)
        {
-       int max, j, i;
+       int mx, j, i;
        char *ptr;
        CRYPTO_EX_DATA_FUNCS **storage = NULL;
        EX_CLASS_ITEM *item;
@@ -403,26 +456,26 @@ static int int_dup_ex_data(int class_index, CRYPTO_EX_DATA *to,
        if((item = def_get_class(class_index)) == NULL)
                return 0;
        CRYPTO_r_lock(CRYPTO_LOCK_EX_DATA);
-       max = sk_CRYPTO_EX_DATA_FUNCS_num(item->meth);
+       mx = sk_CRYPTO_EX_DATA_FUNCS_num(item->meth);
        j = sk_num(from->sk);
-       if(j < max)
-               max = j;
-       if(max > 0)
+       if(j < mx)
+               mx = j;
+       if(mx > 0)
                {
-               storage = OPENSSL_malloc(max * sizeof(CRYPTO_EX_DATA_FUNCS*));
+               storage = OPENSSL_malloc(mx * sizeof(CRYPTO_EX_DATA_FUNCS*));
                if(!storage)
                        goto skip;
-               for(i = 0; i < max; i++)
+               for(i = 0; i < mx; i++)
                        storage[i] = sk_CRYPTO_EX_DATA_FUNCS_value(item->meth,i);
                }
 skip:
        CRYPTO_r_unlock(CRYPTO_LOCK_EX_DATA);
-       if((max > 0) && !storage)
+       if((mx > 0) && !storage)
                {
                CRYPTOerr(CRYPTO_F_INT_DUP_EX_DATA,ERR_R_MALLOC_FAILURE);
                return 0;
                }
-       for(i = 0; i < max; i++)
+       for(i = 0; i < mx; i++)
                {
                ptr = CRYPTO_get_ex_data(from, i);
                if(storage[i] && storage[i]->dup_func)
@@ -439,30 +492,30 @@ skip:
 static void int_free_ex_data(int class_index, void *obj,
                CRYPTO_EX_DATA *ad)
        {
-       int max,i;
+       int mx,i;
        EX_CLASS_ITEM *item;
        void *ptr;
        CRYPTO_EX_DATA_FUNCS **storage = NULL;
        if((item = def_get_class(class_index)) == NULL)
                return;
        CRYPTO_r_lock(CRYPTO_LOCK_EX_DATA);
-       max = sk_CRYPTO_EX_DATA_FUNCS_num(item->meth);
-       if(max > 0)
+       mx = sk_CRYPTO_EX_DATA_FUNCS_num(item->meth);
+       if(mx > 0)
                {
-               storage = OPENSSL_malloc(max * sizeof(CRYPTO_EX_DATA_FUNCS*));
+               storage = OPENSSL_malloc(mx * sizeof(CRYPTO_EX_DATA_FUNCS*));
                if(!storage)
                        goto skip;
-               for(i = 0; i < max; i++)
+               for(i = 0; i < mx; i++)
                        storage[i] = sk_CRYPTO_EX_DATA_FUNCS_value(item->meth,i);
                }
 skip:
        CRYPTO_r_unlock(CRYPTO_LOCK_EX_DATA);
-       if((max > 0) && !storage)
+       if((mx > 0) && !storage)
                {
                CRYPTOerr(CRYPTO_F_INT_FREE_EX_DATA,ERR_R_MALLOC_FAILURE);
                return;
                }
-       for(i = 0; i < max; i++)
+       for(i = 0; i < mx; i++)
                {
                if(storage[i] && storage[i]->free_func)
                        {
@@ -499,7 +552,7 @@ int CRYPTO_ex_data_new_class(void)
 void CRYPTO_cleanup_all_ex_data(void)
        {
        IMPL_CHECK
-       return EX_IMPL(cleanup)();
+       EX_IMPL(cleanup)();
        }
 
 /* Inside an existing class, get/register a new index. */
@@ -537,7 +590,7 @@ int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to,
 void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad)
        {
        IMPL_CHECK
-       return EX_IMPL(free_ex_data)(class_index, obj, ad);
+       EX_IMPL(free_ex_data)(class_index, obj, ad);
        }
 
 /* For a given CRYPTO_EX_DATA variable, set the value corresponding to a