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 | e987a0eeeede296658f7c4b82bc184077be305c6 (patch) | |
| tree | 5ce676d1dd9ccdd906b49961fb24b6be22980d27 /ext/dl | |
| parent | 3ffea7382eb417d535a9df60e544d90f5d98178c (diff) | |
| download | ruby-e987a0eeeede296658f7c4b82bc184077be305c6.tar.gz ruby-e987a0eeeede296658f7c4b82bc184077be305c6.tar.xz ruby-e987a0eeeede296658f7c4b82bc184077be305c6.zip | |
Check the return value of dlopen().
git-svn-id: http://svn.ruby-lang.org/repos/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 b38cecb98..689ce4e3a 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 |
