From f5dc3e5fbc551662e95dc5bcd49b8f342fc0e912 Mon Sep 17 00:00:00 2001
From: obarun <eric@obarun.org>
Date: Wed, 30 Oct 2019 01:21:06 +1100
Subject: [PATCH] close string

---
 src/66/66-intree.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/66/66-intree.c b/src/66/66-intree.c
index 31cd26ff..ae2bb2f3 100644
--- a/src/66/66-intree.c
+++ b/src/66/66-intree.c
@@ -234,16 +234,22 @@ static void info_get_graph_src(ss_resolve_graph_t *graph,char const *src,unsigne
 static void info_display_contents(char const *field, char const *treename)
 {
 	int r ;
-	size_t padding = 1 ;
+	size_t padding = 1, treenamelen = strlen(treename) ;
 	ss_resolve_t res = RESOLVE_ZERO ;
 	ss_resolve_graph_t graph = RESOLVE_GRAPH_ZERO ;
 	stralloc salist = STRALLOC_ZERO ;
-
-	if (!stralloc_cats(&src,treename) ||
+	
+	char tmp[src.len + treenamelen + SS_SVDIRS_LEN + 1] ;
+	memcpy(tmp,src.s,src.len) ;
+	memcpy(tmp + src.len,treename,treenamelen) ;
+	memcpy(tmp + src.len + treenamelen,SS_SVDIRS,SS_SVDIRS_LEN) ;
+	tmp[src.len + treenamelen + SS_SVDIRS_LEN] = 0 ;
+	
+	/*if (!stralloc_cats(&src,treename) ||
 	!stralloc_cats(&src,SS_SVDIRS) ||
-	!stralloc_0(&src)) exitstralloc("display_contains") ;
+	!stralloc_0(&src)) exitstralloc("display_contains") ;*/
 	
-	info_get_graph_src(&graph,src.s,0) ;
+	info_get_graph_src(&graph,tmp,0) ;
 	
 	padding = info_display_field_name(field) ;
 	
@@ -269,7 +275,7 @@ static void info_display_contents(char const *field, char const *treename)
 		ss_resolve_init(&res) ;
 		res.ndeps = el ;
 		res.deps = ss_resolve_add_string(&res,salist.s) ;
-		if (!info_graph_init(&res,src.s,REVERSE, padding, STYLE))
+		if (!info_graph_init(&res,tmp,REVERSE, padding, STYLE))
 			strerr_dief2x(111,"display graph of: ",treename) ;
 		goto freed ;
 	}
@@ -448,7 +454,7 @@ int main(int argc, char const *const *argv, char const *const *envp)
 	}
 	else
 	{
-		
+		if (!stralloc_0(&src)) exitstralloc("main") ;
 	    if (!sastr_dir_get(&satree, src.s,SS_BACKUP + 1, S_IFDIR)) strerr_diefu2sys(111,"get list of tree at: ",src.s) ;
 		if (satree.len)
 		{
-- 
GitLab