]> git.pond.sub.org Git - empserver/commit
Fix seqno mismatch and use-after-free in shp_sweep()
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 28 Jun 2008 13:15:49 +0000 (09:15 -0400)
committerMarkus Armbruster <armbru@pond.sub.org>
Sat, 28 Jun 2008 17:06:58 +0000 (13:06 -0400)
commitfbefc139f4fe6b9ba6068d6493a900f7b7d77b22
treeab596762c7d62f014436cba4214acbdfc6d90d54
parentc40dd61bf0639414fa94312b950112469bebad67
Fix seqno mismatch and use-after-free in shp_sweep()

The code wrote the swept sector after calling shp_check_one_mines().
This failed to use up the mine that hit the minesweeper, and triggered
a seqno mismatch oops.

The code wrote the minesweeper after calling shp_check_one_mines().
This used freed memory when the minesweeper got sunk there.

Broken in 4.0.17.  Fix by moving both calls before
shp_check_one_mines().
(cherry picked from commit b0644e822cd10d93c1168f7b356068fabc02b2bf)
src/lib/subs/shpsub.c