diff options
author | ttate <ttate@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-01-12 13:11:32 +0000 |
---|---|---|
committer | ttate <ttate@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-01-12 13:11:32 +0000 |
commit | 0af783bef40c2a9bd652f2aa70c25a878233cc2c (patch) | |
tree | 5ce676d1dd9ccdd906b49961fb24b6be22980d27 /ext/dl | |
parent | 7af9f795609db767ee6bc9f3862a87f6a6a6f8f6 (diff) |
Check the return value of dlopen().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/dl')
-rw-r--r-- | ext/dl/handle.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/dl/handle.c b/ext/dl/handle.c index b38cecb981..689ce4e3a5 100644 --- a/ext/dl/handle.c +++ b/ext/dl/handle.c @@ -65,7 +65,7 @@ rb_dlhandle_initialize(int argc, VALUE argv[], VALUE self) ptr = dlopen(clib, cflag); #if defined(HAVE_DLERROR) - if( (err = dlerror()) ){ + if( !ptr && (err = dlerror()) ){ rb_raise(rb_eRuntimeError, err); } #else @@ -168,7 +168,7 @@ rb_dlhandle_sym(int argc, VALUE argv[], VALUE self) func = dlsym(handle, name); #if defined(HAVE_DLERROR) - if( (err = dlerror()) && (!func) ) + if( !func && (err = dlerror()) ) #else if( !func ) #endif @@ -183,7 +183,7 @@ rb_dlhandle_sym(int argc, VALUE argv[], VALUE self) func = dlsym(handle, name_a); dlfree(name_a); #if defined(HAVE_DLERROR) - if( (err = dlerror()) && (!func) ) + if( !func && (err = dlerror()) ) #else if( !func ) #endif |