From 98d905b8e463fc5e2bbb7b21cdd47245ade68443 Mon Sep 17 00:00:00 2001 From: Benedikt Heine Date: Thu, 23 Nov 2017 14:30:02 +0100 Subject: [PATCH] Strip [linktext] before opening URL [linktext] can contain arbitary data and also a possible URL, which would get passed to the browser, making the actual URL invalid. --- src/menu.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/menu.c b/src/menu.c index b45cdb5..a90ec20 100644 --- a/src/menu.c +++ b/src/menu.c @@ -95,10 +95,14 @@ char *extract_urls(const char *to_match) */ void open_browser(const char *in) { - // remove prefix and test url - char *url = extract_urls(in); - if (!url) - return; + char *url = NULL; + + // If any, remove leading [ linktext ] from URL + const char *end = strstr(in, "] "); + if (*in == '[' && end) + url = g_strdup(end + 2); + else + url = g_strdup(in); int browser_pid1 = fork();