summaryrefslogtreecommitdiff
path: root/system/skalibs/env_dump-unterminated-strings.patch
blob: a20a78125e2946f14133b002d9b04f146fe4564f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
From d69644de85148f56efeed4259a783881e2a1bddc Mon Sep 17 00:00:00 2001
From: Laurent Bercot <ska-skaware@skarnet.org>
Date: Wed, 31 Jul 2019 23:47:35 +0000
Subject: [PATCH]  bugfix: env_dump() unterminated strings

---
 src/libstddjb/env_dump.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/libstddjb/env_dump.c b/src/libstddjb/env_dump.c
index fc79bc3..10f5913 100644
--- a/src/libstddjb/env_dump.c
+++ b/src/libstddjb/env_dump.c
@@ -32,7 +32,8 @@ int env_dump (char const *dir, mode_t mode, char const *const *envp)
     size_t len = str_chr(*envp, '=') ;
     size_t vallen = strlen(*envp + len + 1) ;
     char fn[len + 1] ;
-    memcpy(fn, *envp, len + 1) ;
+    memcpy(fn, *envp, len) ;
+    fn[len] = 0 ;
     len = openwritenclose_at(fd, fn, *envp + len + 1, vallen) ;
     if (len < vallen) goto cerr ;
   }
-- 
2.22.0