Changeset c3a47c9 for perlglue.xs

Timestamp:
Jan 30, 2010, 9:26:54 PM (14 years ago)
Author:
Anders Kaseorg <andersk@mit.edu>
Branches:
master, release-1.10, release-1.6, release-1.7, release-1.8, release-1.9
Children:
9a023d0
Parents:
fde6d80
git-author:
Anders Kaseorg <andersk@mit.edu> (01/25/10 21:56:47)
git-committer:
Anders Kaseorg <andersk@mit.edu> (01/30/10 21:26:54)
Message:
Move cachedmsgid from owl_filter to owl_view.

This fixes a use-after-free bug: owl_function_create_filter sets
inuse=1, removes the current filter (hence freeing it), then calls
owl_function_change_currentview_filter → owl_view_save_curmsgid →
owl_filter_set_cachedmsgid, which writes to the filter that was just
freed.

This means that you can no longer keep two independent positions in
two different filters by repeatedly switching between filter1 → empty
→ filter2 → empty → filter1.  But I doubt anyone even knew that was
possible before.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Reviewed-by: Nelson Elhage <nelhage@mit.edu>
(No files)

Note: See TracChangeset for help on using the changeset viewer.