summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2023-12-18 12:09:21 +0000
committerLaurent Bercot <ska@appnovation.com>2023-12-18 12:09:21 +0000
commit3c645356e5c92fc5faa77e81fab2f16b11cd6242 (patch)
tree07f8353bdd9106734008379d71099343be8c6d20
parent865a1f310dbfbf080d4a79cf1f99166d8d5dd71a (diff)
downloadskalibs-3c645356e5c92fc5faa77e81fab2f16b11cd6242.tar.xz
Actually add autosurf_name; fix cspawn leak in error path
Signed-off-by: Laurent Bercot <ska@appnovation.com>
-rw-r--r--NEWS1
-rw-r--r--src/librandom/autosurf_name.c9
-rw-r--r--src/libstddjb/cspawn.c2
3 files changed, 11 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 0e2deb4..67f124b 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ Changelog for skalibs.
In 2.14.1.0
-----------
+ - Bugfixes.
- New socket_sendnb46_g() and socket_recvnb46_g() macros.
diff --git a/src/librandom/autosurf_name.c b/src/librandom/autosurf_name.c
new file mode 100644
index 0000000..b0641c0
--- /dev/null
+++ b/src/librandom/autosurf_name.c
@@ -0,0 +1,9 @@
+/* ISC license. */
+
+#include <skalibs/random.h>
+#include <skalibs/surf.h>
+
+void autosurf_name (char *s, size_t n)
+{
+ random_name_from(s, n, &autosurf) ;
+}
diff --git a/src/libstddjb/cspawn.c b/src/libstddjb/cspawn.c
index ea0da90..e0c4bcd 100644
--- a/src/libstddjb/cspawn.c
+++ b/src/libstddjb/cspawn.c
@@ -239,7 +239,7 @@ static inline pid_t cspawn_pspawn (char const *prog, char const *const *argv, ch
if (nopath && (setenv("PATH", SKALIBS_DEFAULTPATH, 0) == -1)) { e = errno ; goto erractions ; }
e = posix_spawnp(&pid, prog, n ? &actions : 0, flags ? &attr : 0, (char *const *)argv, (char *const *)envp) ;
if (nopath) unsetenv("PATH") ;
- if (e) goto errattr ;
+ if (e) goto erractions ;
if (n) posix_spawn_file_actions_destroy(&actions) ;
if (flags) posix_spawnattr_destroy(&attr) ;