diff --git a/Makefile.PL b/Makefile.PL index c9399e5..5666e7b 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -29,6 +29,7 @@ WriteMakefile( }, 'OBJECT' => 'RSA.o', 'LIBS' => [openssl_lib_paths() . $libs], + 'LDDLFLAGS' => openssl_lib_paths() . ' ' . $Config{lddlflags}, 'DEFINE' => '-DPERL5 -DOPENSSL_NO_KRB5', # perl-5.8/gcc-3.2 needs -DPERL5, and redhat9 likes -DOPENSSL_NO_KRB5 diff --git a/RSA.xs b/RSA.xs index 2510bf3..9554126 100644 --- a/RSA.xs +++ b/RSA.xs @@ -168,11 +168,13 @@ SV* cor_bn2sv(const BIGNUM* p_bn) SV* extractBioString(BIO* p_stringBio) { SV* sv; - BUF_MEM* bptr; + char *datap; + long datasize = 0; CHECK_OPEN_SSL(BIO_flush(p_stringBio) == 1); - BIO_get_mem_ptr(p_stringBio, &bptr); - sv = newSVpv(bptr->data, bptr->length); + + datasize = BIO_get_mem_data(p_stringBio, &datap); + sv = newSVpv(datap, datasize); CHECK_OPEN_SSL(BIO_set_close(p_stringBio, BIO_CLOSE) == 1); BIO_free(p_stringBio);