mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
Fix crash after a tab was opened during reload.
Commit 0b99fa70ca
"Bug 620: Reset form
fields to default values on reload" made render_document() decrement
vs->form_info_len to 0 while vs->form_info remained non-NULL.
copy_vs() then copied the whole structure with copy_struct and did not
change form_info because form_info_len was 0. Both view_state
structures had form_info pointing to the same memory block, causing a
segfault when destroy_vs() tried to free that block a second time.
Reported by أحمد المحمودي.
This commit is contained in:
parent
6b05cdb3a0
commit
e9d4d3aef2
2
NEWS
2
NEWS
@ -18,6 +18,8 @@ generally also includes the bug fixes made in ELinks 0.11.4.GIT.
|
|||||||
|
|
||||||
Bugs that should be removed from NEWS before the 0.12.0 release:
|
Bugs that should be removed from NEWS before the 0.12.0 release:
|
||||||
|
|
||||||
|
* critical: Fix crash after a tab was opened during reload. This was
|
||||||
|
triggered by the bug 620 fix in ELinks 0.12pre1.
|
||||||
* major bug 1026 in user SMJS: Protect the callback of elinks.load_uri
|
* major bug 1026 in user SMJS: Protect the callback of elinks.load_uri
|
||||||
from the garbage collector. The elinks.load_uri method was added in
|
from the garbage collector. The elinks.load_uri method was added in
|
||||||
ELinks 0.12pre1.
|
ELinks 0.12pre1.
|
||||||
|
@ -79,6 +79,12 @@ copy_vs(struct view_state *dst, struct view_state *src)
|
|||||||
dst->ecmascript_fragile = 1;
|
dst->ecmascript_fragile = 1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* destroy_vs(vs) does mem_free_if(vs->form_info), so each
|
||||||
|
* view_state must have its own form_info. Normally we make a
|
||||||
|
* copy below, but not if src->form_info_len is 0, which it
|
||||||
|
* can be even if src->form_info is not NULL. */
|
||||||
|
dst->form_info = NULL;
|
||||||
|
|
||||||
/* Clean as a baby. */
|
/* Clean as a baby. */
|
||||||
dst->doc_view = NULL;
|
dst->doc_view = NULL;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user