Index: openssl/crypto/engine/eng_dyn.c |
=================================================================== |
--- openssl/crypto/engine/eng_dyn.c (revision 105093) |
+++ openssl/crypto/engine/eng_dyn.c (working copy) |
@@ -146,14 +146,14 @@ |
* 'dirs' for loading. Default is to use 'dirs' as a fallback. */ |
int dir_load; |
/* A stack of directories from which ENGINEs could be loaded */ |
- STACK *dirs; |
+ STACK_OF(OPENSSL_STRING) *dirs; |
}; |
/* This is the "ex_data" index we obtain and reserve for use with our context |
* structure. */ |
static int dynamic_ex_data_idx = -1; |
-static void int_free_str(void *s) { OPENSSL_free(s); } |
+static void int_free_str(char *s) { OPENSSL_free(s); } |
/* Because our ex_data element may or may not get allocated depending on whether |
* a "first-use" occurs before the ENGINE is freed, we have a memory leak |
* problem to solve. We can't declare a "new" handler for the ex_data as we |
@@ -174,7 +174,7 @@ |
if(ctx->engine_id) |
OPENSSL_free((void*)ctx->engine_id); |
if(ctx->dirs) |
- sk_pop_free(ctx->dirs, int_free_str); |
+ sk_OPENSSL_STRING_pop_free(ctx->dirs, int_free_str); |
OPENSSL_free(ctx); |
} |
} |
@@ -203,7 +203,7 @@ |
c->DYNAMIC_F1 = "v_check"; |
c->DYNAMIC_F2 = "bind_engine"; |
c->dir_load = 1; |
- c->dirs = sk_new_null(); |
+ c->dirs = sk_OPENSSL_STRING_new_null(); |
if(!c->dirs) |
{ |
ENGINEerr(ENGINE_F_DYNAMIC_SET_DATA_CTX,ERR_R_MALLOC_FAILURE); |
@@ -393,7 +393,7 @@ |
ERR_R_MALLOC_FAILURE); |
return 0; |
} |
- sk_insert(ctx->dirs, tmp_str, -1); |
+ sk_OPENSSL_STRING_insert(ctx->dirs, tmp_str, -1); |
} |
return 1; |
default: |
@@ -411,11 +411,11 @@ |
ctx->DYNAMIC_LIBNAME, NULL, 0)) != NULL) |
return 1; |
/* If we're not allowed to use 'dirs' or we have none, fail */ |
- if(!ctx->dir_load || ((num = sk_num(ctx->dirs)) < 1)) |
+ if(!ctx->dir_load || (num = sk_OPENSSL_STRING_num(ctx->dirs)) < 1) |
return 0; |
for(loop = 0; loop < num; loop++) |
{ |
- const char *s = sk_value(ctx->dirs, loop); |
+ const char *s = sk_OPENSSL_STRING_value(ctx->dirs, loop); |
char *merge = DSO_merge(ctx->dynamic_dso, ctx->DYNAMIC_LIBNAME, s); |
if(!merge) |
return 0; |