diff --git a/src/lib66/parse/parse_store_main.c b/src/lib66/parse/parse_store_main.c
index 075d794becbd2d38cac59fa4559977db7f0d7961..6247a1f90ce224fd86766d1bea7856887a212aea 100644
--- a/src/lib66/parse/parse_store_main.c
+++ b/src/lib66/parse/parse_store_main.c
@@ -34,6 +34,8 @@
 #include <66/enum.h>
 #include <66/utils.h>
 
+#include <stdio.h>
+
 int parse_store_main(resolve_service_t *res, char *store, int idsec, int idkey)
 {
     int r = 0, e = 0 ;
@@ -201,7 +203,9 @@ int parse_store_main(resolve_service_t *res, char *store, int idsec, int idkey)
 
             if (!parse_clean_list(&sa, store))
                 parse_error_return(0, 8, idsec, idkey) ;
-            {
+
+            if (sa.len) {
+
                 size_t len = sa.len ;
 
                 char t[len + 1] ;
@@ -215,12 +219,13 @@ int parse_store_main(resolve_service_t *res, char *store, int idsec, int idkey)
                     if (!auto_stra(&sa, t + pos, " "))
                             goto err ;
                 }
-            }
-            sa.len-- ;
-            if (!stralloc_0(&sa))
-                goto err ;
 
-            res->hiercopy = resolve_add_string(wres, sa.s) ;
+                sa.len-- ;
+                if (!stralloc_0(&sa))
+                    goto err ;
+
+                res->hiercopy = resolve_add_string(wres, sa.s) ;
+            }
 
             break ;
 
@@ -231,7 +236,9 @@ int parse_store_main(resolve_service_t *res, char *store, int idsec, int idkey)
 
             if (!parse_clean_list(&sa, store))
                 parse_error_return(0, 8, idsec, idkey) ;
-            {
+
+            if (sa.len) {
+
                 pos = 0 ;
                 FOREACH_SASTR(&sa, pos) {
 
@@ -258,7 +265,8 @@ int parse_store_main(resolve_service_t *res, char *store, int idsec, int idkey)
             if (!parse_clean_list(&sa, store))
                 parse_error_return(0, 8, idsec, idkey) ;
 
-            {
+            if (sa.len) {
+
                 uid_t user[256] ;
                 memset(user, 0, 256*sizeof(uid_t)) ;
 
@@ -327,9 +335,9 @@ int parse_store_main(resolve_service_t *res, char *store, int idsec, int idkey)
                     if (!e)
                         log_warnu_return(LOG_EXIT_ZERO,"use the service -- permission denied") ;
                 }
-            }
 
-            res->user = resolve_add_string(wres, sa.s) ;
+                res->user = resolve_add_string(wres, sa.s) ;
+            }
 
             break ;
 
@@ -338,7 +346,8 @@ int parse_store_main(resolve_service_t *res, char *store, int idsec, int idkey)
             if (!parse_clean_list(&sa, store))
                 parse_error_return(0, 8, idsec, idkey) ;
 
-            res->dependencies.depends = parse_compute_list(wres, &sa, &res->dependencies.ndepends, 0) ;
+            if (sa.len)
+                res->dependencies.depends = parse_compute_list(wres, &sa, &res->dependencies.ndepends, 0) ;
 
             break ;
 
@@ -347,7 +356,8 @@ int parse_store_main(resolve_service_t *res, char *store, int idsec, int idkey)
             if (!parse_clean_list(&sa, store))
                 parse_error_return(0, 8, idsec, idkey) ;
 
-            res->dependencies.requiredby = parse_compute_list(wres, &sa, &res->dependencies.nrequiredby, 0) ;
+            if (sa.len)
+                res->dependencies.requiredby = parse_compute_list(wres, &sa, &res->dependencies.nrequiredby, 0) ;
 
             break ;
 
@@ -356,7 +366,8 @@ int parse_store_main(resolve_service_t *res, char *store, int idsec, int idkey)
             if (!parse_clean_list(&sa, store))
                 parse_error_return(0, 8, idsec, idkey) ;
 
-            res->dependencies.optsdeps = parse_compute_list(wres, &sa, &res->dependencies.noptsdeps, 1) ;
+            if (sa.len)
+                res->dependencies.optsdeps = parse_compute_list(wres, &sa, &res->dependencies.noptsdeps, 1) ;
 
             break ;
 
diff --git a/src/lib66/parse/parse_store_regex.c b/src/lib66/parse/parse_store_regex.c
index 253378c40fa1ca5628feea64c51724977ad1ea94..3bd1421e4acefc889d4848a517efb528a7d533dd 100644
--- a/src/lib66/parse/parse_store_regex.c
+++ b/src/lib66/parse/parse_store_regex.c
@@ -46,7 +46,8 @@ int parse_store_regex(resolve_service_t *res, char *store, int idsec, int idkey)
             if (!parse_clean_list(&sa, store))
                 parse_error_return(0, 8, idsec, idkey) ;
 
-            res->regex.directories = parse_compute_list(wres, &sa, &res->regex.ndirectories, 0) ;
+            if (sa.len)
+                res->regex.directories = parse_compute_list(wres, &sa, &res->regex.ndirectories, 0) ;
 
             break ;
 
@@ -55,7 +56,8 @@ int parse_store_regex(resolve_service_t *res, char *store, int idsec, int idkey)
             if (!parse_clean_list(&sa, store))
                 parse_error_return(0, 8, idsec, idkey) ;
 
-            res->regex.files = parse_compute_list(wres, &sa, &res->regex.nfiles, 0) ;
+            if (sa.len)
+                res->regex.files = parse_compute_list(wres, &sa, &res->regex.nfiles, 0) ;
 
             break ;
 
@@ -64,7 +66,8 @@ int parse_store_regex(resolve_service_t *res, char *store, int idsec, int idkey)
             if (!parse_clean_list(&sa, store))
                 parse_error_return(0, 8, idsec, idkey) ;
 
-            res->regex.infiles = parse_compute_list(wres, &sa, &res->regex.ninfiles, 0) ;
+            if (sa.len)
+                res->regex.infiles = parse_compute_list(wres, &sa, &res->regex.ninfiles, 0) ;
 
             break ;