On 2015-07-29, Scarlett wrote:
(My last few mails to this list have been caught by the spam daemon, so I'm replying directly and hoping this makes its way through).

I've wrestled with w3m's code plenty. What I found did not make me happy, as bcallah@ can attest (they also pointed me to this message).

Numerous Linux distributions have fixes for fairly serious bugs in w3m sitting in their patches directories that have not been fixed upstream.

Fuzzing it did not have positive results.

Memory management practices are terrible. I suspect that replacing the GC layer with regular malloc() and adding free() in the correct places would be a major effort. A rewrite would possibly be preferable.

I've merged a lot of fixes from various Linux distributions, and some of my own (C-standard-libraryification, overflow checks, NULL pointer deref bugs). I've also made some non-trivial simplifications to the code, removed a lot of cruft, and made it use libtls.

You can check out my repository here, if you're interested: https://bitbucket.org/Scarletts/w3m/src

I'd be really happy if other people took an interest and sent in some patches, or just tested it.

w3m is fairly terrifying code. I would recommend using a "modern" intensively audited browser and disabling features like JavaScript over using w3m if security is a major concern.

On the bells and whistles end of the spectrum, I'm rather partial to Iridium at the moment. Video performance on YouTube is much nicer than Firefox, and the process-per-tab feature adds some much needed stability.

I am not a programmer at all, so I avoided stating that my gut tells me that
w3m is likely in dire need of major fixes and optimizations. My dream project,
if I ever learn C, would be to fork w3m or to write a brand new browser in the
spirit of w3m. I'll check out your repo and mess around with it, for sure :)
Thanks for the reply.

-BSD

Reply via email to