提交 b7b6c047 编写于 作者: G Geoff Thorpe

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.
上级 0ea65947
......@@ -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);
......
......@@ -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);
......
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册