On Wed, 28 Aug 2024 21:40:20 +0200
Rodrigo Arias <rodar...@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
_______________________________________________
Dillo-dev mailing list -- dillo-dev@mailman3.com
To unsubscribe send an email to dillo-dev-le...@mailman3.com

Reply via email to