mirror of
https://github.com/troglobit/libite.git
synced 2026-10-31 12:50:41 +00:00
pidfile.c: Upgrade to OpenBSD r1.11, asprintf() fixes.
Do not assume that asprintf() clears the pointer on failure, which is non-portable. Also add missing asprintf() return value checks. Signed-off-by: millert@ Signed-off-by: deraadt@ guenther@ doug@ Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
1 parent
3eb1fbb31d
commit
a4cbc7a10e
1 file changed
+3
-4
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: pidfile.c,v 1.10 2014/06/30 00:26:22 deraadt Exp $ */
|
/* $OpenBSD: pidfile.c,v 1.11 2015/06/03 02:24:36 millert Exp $ */
|
||||||
/* $NetBSD: pidfile.c,v 1.4 2001/02/19 22:43:42 cgd Exp $ */
|
/* $NetBSD: pidfile.c,v 1.4 2001/02/19 22:43:42 cgd Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
@@ -47,7 +47,7 @@ extern char *__progname;
|
|||||||
int
|
int
|
||||||
pidfile(const char *basename)
|
pidfile(const char *basename)
|
||||||
{
|
{
|
||||||
int save_errno, result;
|
int save_errno;
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
FILE *f;
|
FILE *f;
|
||||||
|
|
||||||
@@ -60,8 +60,7 @@ pidfile(const char *basename)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* _PATH_VARRUN includes trailing / */
|
/* _PATH_VARRUN includes trailing / */
|
||||||
result = asprintf(&pidfile_path, "%s%s.pid", _PATH_VARRUN, basename);
|
if (asprintf(&pidfile_path, "%s%s.pid", _PATH_VARRUN, basename) == -1)
|
||||||
if (result == -1 || pidfile_path == NULL)
|
|
||||||
return (-1);
|
return (-1);
|
||||||
|
|
||||||
if ((f = fopen(pidfile_path, "w")) == NULL) {
|
if ((f = fopen(pidfile_path, "w")) == NULL) {
|
||||||
|
|||||||
Reference in new issue
Block a user