diff --git a/ext/dl/sym.c b/ext/dl/sym.c index aab581b543..137b47525a 100644 --- a/ext/dl/sym.c +++ b/ext/dl/sym.c @@ -412,7 +412,7 @@ rb_dlsym_call(int argc, VALUE argv[], VALUE self) if( TYPE(argv[i]) != T_STRING ){ raise(rb_eDLError, "#%d must be a string",i); }; - ANY2S(args[i]) = DLSTR(argv[i]); + ANY2S(args[i]) = DLSTR(RSTRING(argv[i])->ptr); }; PUSH_P(ftype); break;