aboutsummaryrefslogtreecommitdiff
path: root/vis-cmds.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2017-03-21 08:21:49 +0100
committerMarc André Tanner <mat@brain-dump.org>2017-03-21 08:21:49 +0100
commit937d8a83610ac4a642d52412e94bebda3ed6b138 (patch)
tree7c417ba8b24b8b3d00c635af1cc67626144cb937 /vis-cmds.c
parent000cbb0c810ad213fa70310d81fdc9afcb9643ee (diff)
downloadvis-937d8a83610ac4a642d52412e94bebda3ed6b138.tar.gz
vis-937d8a83610ac4a642d52412e94bebda3ed6b138.tar.xz
vis: reject invalid option names
This should fix the ressource leak as found by CID 142510.
Diffstat (limited to 'vis-cmds.c')
-rw-r--r--vis-cmds.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/vis-cmds.c b/vis-cmds.c
index 3ee782d..551c912 100644
--- a/vis-cmds.c
+++ b/vis-cmds.c
@@ -78,6 +78,10 @@ static void option_free(OptionDef *opt) {
bool vis_option_register(Vis *vis, const char *names[], enum VisOption flags,
VisOptionFunction *func, void *context, const char *help) {
+
+ if (!names || !names[0])
+ return false;
+
for (const char **name = names; *name; name++) {
if (map_get(vis->options, *name))
return false;