| OLD | NEW |
| 1 /* crypto/engine/eng_lib.c */ | 1 /* crypto/engine/eng_lib.c */ |
| 2 /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL | 2 /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL |
| 3 * project 2000. | 3 * project 2000. |
| 4 */ | 4 */ |
| 5 /* ==================================================================== | 5 /* ==================================================================== |
| 6 * Copyright (c) 1999-2001 The OpenSSL Project. All rights reserved. | 6 * Copyright (c) 1999-2001 The OpenSSL Project. All rights reserved. |
| 7 * | 7 * |
| 8 * Redistribution and use in source and binary forms, with or without | 8 * Redistribution and use in source and binary forms, with or without |
| 9 * modification, are permitted provided that the following conditions | 9 * modification, are permitted provided that the following conditions |
| 10 * are met: | 10 * are met: |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 i = --e->struct_ref; | 118 i = --e->struct_ref; |
| 119 engine_ref_debug(e, 0, -1) | 119 engine_ref_debug(e, 0, -1) |
| 120 if (i > 0) return 1; | 120 if (i > 0) return 1; |
| 121 #ifdef REF_CHECK | 121 #ifdef REF_CHECK |
| 122 if (i < 0) | 122 if (i < 0) |
| 123 { | 123 { |
| 124 fprintf(stderr,"ENGINE_free, bad structural reference count\n"); | 124 fprintf(stderr,"ENGINE_free, bad structural reference count\n"); |
| 125 abort(); | 125 abort(); |
| 126 } | 126 } |
| 127 #endif | 127 #endif |
| 128 /* Free up any dynamically allocated public key methods */ |
| 129 engine_pkey_meths_free(e); |
| 130 engine_pkey_asn1_meths_free(e); |
| 128 /* Give the ENGINE a chance to do any structural cleanup corresponding | 131 /* Give the ENGINE a chance to do any structural cleanup corresponding |
| 129 * to allocation it did in its constructor (eg. unload error strings) */ | 132 * to allocation it did in its constructor (eg. unload error strings) */ |
| 130 if(e->destroy) | 133 if(e->destroy) |
| 131 e->destroy(e); | 134 e->destroy(e); |
| 132 CRYPTO_free_ex_data(CRYPTO_EX_INDEX_ENGINE, e, &e->ex_data); | 135 CRYPTO_free_ex_data(CRYPTO_EX_INDEX_ENGINE, e, &e->ex_data); |
| 133 OPENSSL_free(e); | 136 OPENSSL_free(e); |
| 134 return 1; | 137 return 1; |
| 135 } | 138 } |
| 136 | 139 |
| 137 int ENGINE_free(ENGINE *e) | 140 int ENGINE_free(ENGINE *e) |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 | 323 |
| 321 /* eng_lib.o is pretty much linked into anything that touches ENGINE already, so | 324 /* eng_lib.o is pretty much linked into anything that touches ENGINE already, so |
| 322 * put the "static_state" hack here. */ | 325 * put the "static_state" hack here. */ |
| 323 | 326 |
| 324 static int internal_static_hack = 0; | 327 static int internal_static_hack = 0; |
| 325 | 328 |
| 326 void *ENGINE_get_static_state(void) | 329 void *ENGINE_get_static_state(void) |
| 327 { | 330 { |
| 328 return &internal_static_hack; | 331 return &internal_static_hack; |
| 329 } | 332 } |
| OLD | NEW |