Skip to content

Commit 81316b6

Browse files
committed
dtls: Fix crash when connection fails
``` [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Failed to SSL_connect: error:00000000:lib(0)::reason(0) Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7a78911 in BIO_free () from /lib64/libcrypto.so.3 Missing debuginfo, try: dnf debuginfo-install libcap-2.69-8.fc41.x86_64 Missing debuginfo, try: dnf debuginfo-install openssl-libs-3.2.1-6.fc41.x86_64 Missing debuginfo, try: dnf debuginfo-install systemd-libs-256~rc2-1.fc41.x86_64 Missing debuginfo, try: dnf debuginfo-install glibc-2.39.9000-18.fc41.x86_64 Missing debuginfo, try: dnf debuginfo-install zlib-ng-compat-2.1.6-3.fc41.x86_64 Missing debuginfo, try: dnf debuginfo-install libgcc-14.1.1-1.fc41.x86_64 (gdb) bt ```
1 parent f8a97e2 commit 81316b6

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/netlog/netlog-dtls.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,8 @@ int dtls_connect(DTLSManager *m, SocketAddress *address) {
120120
"Failed to allocate memory for bio: %m");
121121

122122
BIO_ctrl(bio, BIO_CTRL_DGRAM_SET_CONNECTED, 0, &address);
123-
SSL_set_bio(ssl , bio, bio);
123+
SSL_set_bio(ssl, bio, bio);
124+
m->bio = TAKE_PTR(bio);
124125

125126
/* Cerification verification */
126127
if (m->auth_mode != OPEN_SSL_CERTIFICATE_AUTH_MODE_NONE && m->auth_mode != OPEN_SSL_CERTIFICATE_AUTH_MODE_INVALID) {
@@ -163,7 +164,6 @@ int dtls_connect(DTLSManager *m, SocketAddress *address) {
163164
/* Set and activate timeouts */
164165
BIO_ctrl(bio, BIO_CTRL_DGRAM_SET_RECV_TIMEOUT, 0, &timeout);
165166

166-
m->bio = TAKE_PTR(bio);
167167
m->ssl = TAKE_PTR(ssl);
168168
m->ctx = ctx;
169169
m->fd = fd;

0 commit comments

Comments
 (0)