From 1e5328f159fbd0b4ec25631fe239212613dbea8d Mon Sep 17 00:00:00 2001 From: Kim Holviala Date: Wed, 23 Sep 2015 19:01:22 +0300 Subject: [PATCH] Fix for executable gophermaps in directories with spaces (bugreport from Black Rider) --- menu.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/menu.c b/menu.c index 5cdbcac..4d56124 100644 --- a/menu.c +++ b/menu.c @@ -269,6 +269,9 @@ int gophermap(state *st, char *mapfile, int depth) FILE *fp; struct stat file; char line[BUFSIZE]; +#ifdef HAVE_POPEN + char buf[BUFSIZE]; +#endif char *selector; char *name; char *host; @@ -299,7 +302,9 @@ int gophermap(state *st, char *mapfile, int depth) #ifdef HAVE_POPEN if (exe) { setenv_cgi(st, mapfile); - if ((fp = popen(mapfile, "r")) == NULL) return OK; + snprintf(buf, sizeof(buf), "'%s'", mapfile); + + if ((fp = popen(buf, "r")) == NULL) return OK; } else #endif