From 776ce8a9d5a30bd4a8aab59c5152e78774bb805c Mon Sep 17 00:00:00 2001 From: nicm Date: Wed, 25 Jan 2017 23:50:51 +0000 Subject: [PATCH] Clear option before adding to array if no -a, reported by Michael Nickerson. --- cmd-set-option.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmd-set-option.c b/cmd-set-option.c index f7e6b730..c7cef42c 100644 --- a/cmd-set-option.c +++ b/cmd-set-option.c @@ -211,9 +211,11 @@ cmd_set_option_exec(struct cmd *self, struct cmdq_item *item) } if (o == NULL) o = options_empty(oo, options_table_entry(parent)); - if (idx == -1) + if (idx == -1) { + if (!append) + options_array_clear(o); options_array_assign(o, value); - else if (options_array_set(o, idx, value, append) != 0) { + } else if (options_array_set(o, idx, value, append) != 0) { cmdq_error(item, "invalid index: %s", args->argv[0]); return (CMD_RETURN_ERROR); }