Skip to content

My app crashes because OpenSSL symbols are visible in libWebCore.so #524

@mkucmpro

Description

@mkucmpro

My Linux x64 app links with multiple libraries: OpenSSL with Ultralight among others. When some methods from libcrypto (which is a part of OpenSSL) are called (e.g. BIO_free()), that symbol is resolved to libWebCore.so, instead of libcrypto.so

When executing nm -CD ultralight-1.4.0/bin/libWebCore.so | grep BIO to read the symbols of libWebCore, I am getting the following output:

0000000002330830 T BIO_callback_ctrl
0000000002330110 T BIO_clear_flags
0000000002331150 T BIO_copy_next_retry
0000000002330650 T BIO_ctrl
00000000023308f0 T BIO_ctrl_pending
00000000023309d0 T BIO_ctrl_wpending
000000000232f180 T BIO_dump
000000000232eda0 T BIO_dump_cb
000000000232f130 T BIO_dump_fp
000000000232f1c0 T BIO_dump_indent
000000000232edb0 T BIO_dump_indent_cb
000000000232f160 T BIO_dump_indent_fp
0000000002330e10 T BIO_dup_chain
000000000232f3b0 T BIO_f_buffer
00000000023cd0b0 T BIO_f_cipher
0000000002330cf0 T BIO_find_type
00000000023cd8a0 T BIO_f_md
000000000232ff70 T BIO_free
0000000002330d50 T BIO_free_all
...

It seems that these libcrypto symbols are re-exported from libWebCore.so. Since only you have the control over their visibility, can change your compilation to actually hide them?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions