diff --git a/src/lib66/exec/ssexec_tree.c b/src/lib66/exec/ssexec_tree.c
index 1b263b604839dc8ea17bd862ba80b31c5f70db62..5c08af215ee6baff1b4c94f04563e89ac8ff2499 100644
--- a/src/lib66/exec/ssexec_tree.c
+++ b/src/lib66/exec/ssexec_tree.c
@@ -160,6 +160,12 @@ static void check_identifier(char const *name)
     if (!memcmp(name, SS_MASTER + 1, 6))
         log_die(LOG_EXIT_USER,"tree name: ",name,": starts with reserved prefix Master") ;
 
+    char str[UINT_FMT] ;
+    str[uint_fmt(str, SS_MAX_TREENAME)] = 0 ;
+
+    if (strlen(name) > SS_MAX_TREENAME)
+        log_die(LOG_EXIT_USER,"tree name is too long -- it can not exceed ", str) ;
+
 }
 
 static void auto_dir(char const *dst,mode_t mode)