diff --git a/CHANGELOG.md b/CHANGELOG.md index ac18a97e..593d0692 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -116,12 +116,15 @@ config values (e.g. letter offsets, line height etc). * Selection being stuck visually when `IL` and `DL`.` * URL underlines sometimes still being visible after exiting URL mode. +* Text-bindings, and pipe-* bindings, with multiple key mappings + causing a crash (double-free) on exit ([#1259][1259]). [1173]: https://codeberg.org/dnkl/foot/issues/1173 [1190]: https://codeberg.org/dnkl/foot/issues/1190 [1205]: https://codeberg.org/dnkl/foot/issues/1205 [1209]: https://codeberg.org/dnkl/foot/issues/1209 [1218]: https://codeberg.org/dnkl/foot/issues/1218 +[1259]: https://codeberg.org/dnkl/foot/issues/1259 ### Security diff --git a/config.c b/config.c index ea8d062f..d77b50b8 100644 --- a/config.c +++ b/config.c @@ -1477,6 +1477,9 @@ parse_section_csd(struct context *ctx) static void free_binding_aux(struct binding_aux *aux) { + if (!aux->master_copy) + return; + switch (aux->type) { case BINDING_AUX_NONE: break; case BINDING_AUX_PIPE: free_argv(&aux->pipe); break;