Commit Briefs
tag 0.7.1 -- bugfix release (tags/0.7.1)
fix use after free when loading an about:* page from about:about. Reported by Brian Callahan, thanks!
avoid possible use after free
`url' may be a pointer to a string of the buffer which gets corrupted upon tab_stop. This bug shows when loadfn is load_about_url, because in make_fs_request we first tab_stop, and then send the request, which ends up sending to the fs process a free'd string. At least on OpenBSD with Otto' malloc is (partially) corrupted and will either make the fs process abort or return a not found page. One solution may be to rework make_fs_request to process things in a different order, but that would only hide the problem. Instead, use the newly created history element as url given to the loadfns: that is guaranteed to be valid up to the next load_url call. Reported by Brian Callahan, thanks!
tag 0.7, "Via Paolo Fabbri 43" (tags/0.7)
fix a couple of printw fmt strings
two %d really needs %zu
fix glitch with tab-bar-show=1 and tab-undo-close
a missing ui_schedule_redraw on unkill_tab means that the tabbar is not rendered when calling tab-undo-close when there is only one tab.
crank up cache limits
delete pages that are older than one hour, and scan the cache only once every five minutes. The previous defaults were a bit too much conservative.
drop useless struct
instead of keeping the struct mcache that's private to mcache.c and used only once, just define its fields as (static) variables. While here, mark as static also gemtext_prefixes.