DSO_load() should also work when it is passed a NULL - a new DSO is created
automatically, however some code was still referring to the original pointer rather than the internal one (and thus to NULL instead of the created pointer).
This commit is contained in:
parent
3aba98e787
commit
7d09713d09
@ -209,7 +209,7 @@ DSO *DSO_load(DSO *dso, const char *filename, DSO_METHOD *meth, int flags)
|
||||
else
|
||||
ret = dso;
|
||||
/* Don't load if we're currently already loaded */
|
||||
if(dso->filename != NULL)
|
||||
if(ret->filename != NULL)
|
||||
{
|
||||
DSOerr(DSO_F_DSO_LOAD,DSO_R_DSO_ALREADY_LOADED);
|
||||
goto err;
|
||||
@ -217,12 +217,12 @@ DSO *DSO_load(DSO *dso, const char *filename, DSO_METHOD *meth, int flags)
|
||||
/* filename can only be NULL if we were passed a dso that already has
|
||||
* one set. */
|
||||
if(filename != NULL)
|
||||
if(!DSO_set_filename(dso, filename))
|
||||
if(!DSO_set_filename(ret, filename))
|
||||
{
|
||||
DSOerr(DSO_F_DSO_LOAD,DSO_R_SET_FILENAME_FAILED);
|
||||
goto err;
|
||||
}
|
||||
filename = dso->filename;
|
||||
filename = ret->filename;
|
||||
if(filename == NULL)
|
||||
{
|
||||
DSOerr(DSO_F_DSO_LOAD,DSO_R_NO_FILENAME);
|
||||
|
Loading…
Reference in New Issue
Block a user