On Sat, Oct 17, 2020 at 09:53:47AM +0200, Jona Ackerschott wrote:
> Dear suckless community,
> 

Hi Jona,

> There seems to be a bug in surf, in the 'readpipe' function in surf.c.
> The pipes for communication with the web extension are being closed
> there in the switch statement, which is problematic, because this function is 
> called every time
> the web extension is initialized.
> This desing seems to be chosen on the assumption that the surf web extension
> will only be initialized once.
> However, this is not the case and as soon as the web extension gets
> initialized a second time the current page may be loading forever.
> 
> To reproduce this bug, execute mainline surf without patches, go to 
> 'google.com'
> (Exactly this, combinations of 'http(s)' or 'www' added to this
> can change the behaviour) and then to 'twitter.com' (Again extactly this).
> These sites are just one example, this also happens with other sites,
> mostly pretty bloated ones.
> You should see that 'twitter.com' is not loading and the error messages
> 'webext: error sending: i', 'webext: message too short: %i' (where %i is
> some negative integer).
> There is also a variation of this bug, where you find only the first
> error message and the page is loading in a finite amount of time.
> 
> I think all this behaviour can be traced back to the fact, that the
> pipes are being closed to early in readpipe, because they could be
> needed again.
> A fix could be to let those pipes open during runtime and only close
> them in the 'cleanup' function.
> At least this fixes all the problems i have talked about.
> 

Where is the patch?

> Regards,
> Jona
> 

-- 
Kind regards,
Hiltjo

Reply via email to