diff options
author | Geoff Thorpe <geoff@openssl.org> | 2001-04-25 22:40:55 +0000 |
---|---|---|
committer | Geoff Thorpe <geoff@openssl.org> | 2001-04-25 22:40:55 +0000 |
commit | b7b6c047ca5badf3d76187ad2640e5f088e96ecd (patch) | |
tree | 3fa0de874be0b8dd7a2ade692bdaffea9ce4198a /crypto/dso | |
parent | 0ea659475c634933126386dc31d6589ecf10d3fc (diff) |
This change to the "dl", "dlfcn", and "win32" DSO_METHODs adds the filename
or symbol name to the error stack in the event a load or bind operation
failed.
Diffstat (limited to 'crypto/dso')
-rw-r--r-- | crypto/dso/dso_dl.c | 3 | ||||
-rw-r--r-- | crypto/dso/dso_dlfcn.c | 3 | ||||
-rw-r--r-- | crypto/dso/dso_win32.c | 3 |
3 files changed, 9 insertions, 0 deletions
diff --git a/crypto/dso/dso_dl.c b/crypto/dso/dso_dl.c index 4dbb51fb8c..a831877c07 100644 --- a/crypto/dso/dso_dl.c +++ b/crypto/dso/dso_dl.c @@ -130,6 +130,7 @@ static int dl_load(DSO *dso) if(ptr == NULL) { DSOerr(DSO_F_DL_LOAD,DSO_R_LOAD_FAILED); + ERR_add_error_data(3, "filename(", filename, ")"); goto err; } if(!sk_push(dso->meth_data, (char *)ptr)) @@ -198,6 +199,7 @@ static void *dl_bind_var(DSO *dso, const char *symname) if (shl_findsym(&ptr, symname, TYPE_UNDEFINED, &sym) < 0) { DSOerr(DSO_F_DL_BIND_VAR,DSO_R_SYM_FAILURE); + ERR_add_error_data(3, "symname(", symname, ")"); return(NULL); } return(sym); @@ -227,6 +229,7 @@ static DSO_FUNC_TYPE dl_bind_func(DSO *dso, const char *symname) if (shl_findsym(&ptr, symname, TYPE_UNDEFINED, &sym) < 0) { DSOerr(DSO_F_DL_BIND_FUNC,DSO_R_SYM_FAILURE); + ERR_add_error_data(3, "symname(", symname, ")"); return(NULL); } return((DSO_FUNC_TYPE)sym); diff --git a/crypto/dso/dso_dlfcn.c b/crypto/dso/dso_dlfcn.c index 22e5059dd8..681e9782ad 100644 --- a/crypto/dso/dso_dlfcn.c +++ b/crypto/dso/dso_dlfcn.c @@ -147,6 +147,7 @@ static int dlfcn_load(DSO *dso) if(ptr == NULL) { DSOerr(DSO_F_DLFCN_LOAD,DSO_R_LOAD_FAILED); + ERR_add_error_data(3, "filename(", filename, ")"); goto err; } if(!sk_push(dso->meth_data, (char *)ptr)) @@ -214,6 +215,7 @@ static void *dlfcn_bind_var(DSO *dso, const char *symname) if(sym == NULL) { DSOerr(DSO_F_DLFCN_BIND_VAR,DSO_R_SYM_FAILURE); + ERR_add_error_data(3, "symname(", symname, ")"); return(NULL); } return(sym); @@ -244,6 +246,7 @@ static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname) if(sym == NULL) { DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_SYM_FAILURE); + ERR_add_error_data(3, "symname(", symname, ")"); return(NULL); } return(sym); diff --git a/crypto/dso/dso_win32.c b/crypto/dso/dso_win32.c index 1e9fd91e0c..af8586d754 100644 --- a/crypto/dso/dso_win32.c +++ b/crypto/dso/dso_win32.c @@ -126,6 +126,7 @@ static int win32_load(DSO *dso) if(h == NULL) { DSOerr(DSO_F_WIN32_LOAD,DSO_R_LOAD_FAILED); + ERR_add_error_data(3, "filename(", filename, ")"); goto err; } p = (HINSTANCE *)OPENSSL_malloc(sizeof(HINSTANCE)); @@ -210,6 +211,7 @@ static void *win32_bind_var(DSO *dso, const char *symname) if(sym == NULL) { DSOerr(DSO_F_WIN32_BIND_VAR,DSO_R_SYM_FAILURE); + ERR_add_error_data(3, "symname(", symname, ")"); return(NULL); } return(sym); @@ -240,6 +242,7 @@ static DSO_FUNC_TYPE win32_bind_func(DSO *dso, const char *symname) if(sym == NULL) { DSOerr(DSO_F_WIN32_BIND_FUNC,DSO_R_SYM_FAILURE); + ERR_add_error_data(3, "symname(", symname, ")"); return(NULL); } return((DSO_FUNC_TYPE)sym); |