| Index: openssl/crypto/dso/dso_lib.c
|
| ===================================================================
|
| --- openssl/crypto/dso/dso_lib.c (revision 105093)
|
| +++ openssl/crypto/dso/dso_lib.c (working copy)
|
| @@ -107,7 +107,7 @@
|
| return(NULL);
|
| }
|
| memset(ret, 0, sizeof(DSO));
|
| - ret->meth_data = sk_new_null();
|
| + ret->meth_data = sk_void_new_null();
|
| if(ret->meth_data == NULL)
|
| {
|
| /* sk_new doesn't generate any errors so we do */
|
| @@ -163,7 +163,7 @@
|
| return(0);
|
| }
|
|
|
| - sk_free(dso->meth_data);
|
| + sk_void_free(dso->meth_data);
|
| if(dso->filename != NULL)
|
| OPENSSL_free(dso->filename);
|
| if(dso->loaded_filename != NULL)
|
| @@ -399,13 +399,6 @@
|
| DSOerr(DSO_F_DSO_MERGE,ERR_R_PASSED_NULL_PARAMETER);
|
| return(NULL);
|
| }
|
| - if(filespec1 == NULL)
|
| - filespec1 = dso->filename;
|
| - if(filespec1 == NULL)
|
| - {
|
| - DSOerr(DSO_F_DSO_MERGE,DSO_R_NO_FILE_SPECIFICATION);
|
| - return(NULL);
|
| - }
|
| if((dso->flags & DSO_FLAG_NO_NAME_TRANSLATION) == 0)
|
| {
|
| if(dso->merger != NULL)
|
| @@ -464,3 +457,27 @@
|
| }
|
| return(dso->loaded_filename);
|
| }
|
| +
|
| +int DSO_pathbyaddr(void *addr,char *path,int sz)
|
| + {
|
| + DSO_METHOD *meth = default_DSO_meth;
|
| + if (meth == NULL) meth = DSO_METHOD_openssl();
|
| + if (meth->pathbyaddr == NULL)
|
| + {
|
| + DSOerr(DSO_F_DSO_PATHBYADDR,DSO_R_UNSUPPORTED);
|
| + return -1;
|
| + }
|
| + return (*meth->pathbyaddr)(addr,path,sz);
|
| + }
|
| +
|
| +void *DSO_global_lookup(const char *name)
|
| + {
|
| + DSO_METHOD *meth = default_DSO_meth;
|
| + if (meth == NULL) meth = DSO_METHOD_openssl();
|
| + if (meth->globallookup == NULL)
|
| + {
|
| + DSOerr(DSO_F_DSO_GLOBAL_LOOKUP,DSO_R_UNSUPPORTED);
|
| + return NULL;
|
| + }
|
| + return (*meth->globallookup)(name);
|
| + }
|
|
|