]> granicus.if.org Git - mutt/commit
Fix setenv overwriting to not truncate the envlist. (see #3922)
authorKevin McCarthy <kevin@8t8.us>
Mon, 20 Mar 2017 17:16:03 +0000 (10:16 -0700)
committerKevin McCarthy <kevin@8t8.us>
Mon, 20 Mar 2017 17:16:03 +0000 (10:16 -0700)
commit1f3de81717fde6775aca35b09485753b571ed6d6
tree00061ad20ef6ab3d79a424da0fa1b2b072a23571
parent9ac64f6eada9a538813670c4812f72973ebb3cba
Fix setenv overwriting to not truncate the envlist. (see #3922)

The refactor in 2b9c40f13e13 exposed a bug I hadn't noticed.  The
match loop performed a FREE() on the slot.  Then, below, it was
checking if (*envp) to see whether it was overwriting or creating a
new slot.  However, FREE() nulls out *envp.  This would end up
truncating the envlist just after the set slot!

Move the free down, using a mutt_str_replace(), when overwriting the
slot.
init.c