From 4b484f6f993b9996a2f273dc6d00776ba19ef7ce Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Sun, 9 Feb 2020 02:18:17 +0100 Subject: [PATCH] Tolerate plugin filenames containing special characters We may only allow characters allowed in shell function names. --- muninlite.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/muninlite.in b/muninlite.in index 73ef7f6..c77d509 100755 --- a/muninlite.in +++ b/muninlite.in @@ -89,7 +89,8 @@ for PLUG in $PLUGINS; do plugindir_) for MYPLUGIN in $(if [ -d "$PLUGIN_DIRECTORY" ]; then find -L "$PLUGIN_DIRECTORY" -type f -name "$PLUGINPATTERN"; fi); do if [ -f "$MYPLUGIN" ] && [ -x "$MYPLUGIN" ]; then - MYPLUGINNAME=$(basename "$MYPLUGIN") + # generate a name suitable for shell function names + MYPLUGINNAME=$(basename "$MYPLUGIN" | sed 's/[^0-9a-zA-Z_]/_/g') # detect and avoid name collision if echo "$RES" | grep -qwF "$MYPLUGINNAME"; then MYPLUGINNAME="plugindir_$MYPLUGINNAME"