From c80e3e9a42f71d545293f32077ada41522cc08d2 Mon Sep 17 00:00:00 2001 From: Benedikt Heine Date: Sat, 7 Jul 2018 11:13:14 +0200 Subject: [PATCH] Harness dispatch_menu_result against stupid input --- src/menu.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/menu.c b/src/menu.c index 1aea9aa..9f82afa 100644 --- a/src/menu.c +++ b/src/menu.c @@ -176,19 +176,25 @@ void invoke_action(const char *action) } } -/* - * Dispatch whatever has been returned - * by the menu. +/** + * Dispatch whatever has been returned by dmenu. + * If the given result of dmenu is empty or NULL, nothing will be done. + * + * @param input The result from dmenu. */ void dispatch_menu_result(const char *input) { + if (!input) + return; + char *in = g_strdup(input); g_strstrip(in); - if (in[0] == '#') { + + if (in[0] == '#') invoke_action(in + 1); - } else { + else if (in[0] != '\0') open_browser(in); - } + g_free(in); }