vi(1): fix use after free with unsaved buffer
authordv <dv@openbsd.org>
Mon, 25 Oct 2021 14:17:24 +0000 (14:17 +0000)
committerdv <dv@openbsd.org>
Mon, 25 Oct 2021 14:17:24 +0000 (14:17 +0000)
commit950f464992f07407e52ebc716d6648aa120dd334
treee8da26cc166bc2a64ad7c535a08b40859cb3e107
parentc42f309da2cbd00e84077a805065d79f62bf8ab5
vi(1): fix use after free with unsaved buffer

Issuing a zero-arg ex_edit command (:e) while using a named buffer
with no backing file caused vi(1)/ex(1) to free the strings
representing the buffer name and the name of the temporary file.
This change detects the situation and only frees the newly allocated
EXF structure (ep).

Reported on bugs@ by kn@.

OK millert@
usr.bin/vi/common/exf.c