On Wed, 28 Aug 2024 21:40:20 +0200 Rodrigo Arias <rodarima@gmail.com> wrote:
Hi,
This is enough for me to at least fix this case on Dillo side.
I see, I was trying to set the conn->in_connect = FALSE after conn was freed. Try this patch:
diff --git a/src/IO/tls_openssl.c b/src/IO/tls_openssl.c index 3e68e928..5ad12b8c 100644 --- a/src/IO/tls_openssl.c +++ b/src/IO/tls_openssl.c @@ -1186,7 +1186,10 @@ static void Tls_connect(int fd, int connkey) if (a_Klist_get_data(conn_list, connkey)) { conn->connecting = FALSE; if (failed) { + conn->in_connect = FALSE; Tls_close_by_key(connkey); + /* conn is freed now */ + conn = NULL; } a_IOwatch_remove_fd(fd, DIO_READ|DIO_WRITE); a_Http_connect_done(fd, failed ? FALSE : TRUE); @@ -1195,7 +1198,8 @@ static void Tls_connect(int fd, int connkey) } }
- conn->in_connect = FALSE; + if (conn) + conn->in_connect = FALSE; }
static void Tls_connect_cb(int fd, void *vconnkey)
I have confirmed that this patch prevents Dillo from crashing. Thanks!
However, it doesn't explain the EOF you are getting in narkive. Are you using tor or some proxy?
No vpn/tor/proxy. I wouldn't be surprised if my network provider was doing some weird stuff though... Maybe thats an area for further study. -Alex