commit:     f9d41243d8499c5d7027177d5aa716d5b5859cd6
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Tue Jun 19 22:46:12 2018 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Tue Jun 19 22:46:12 2018 +0000
URL:        https://gitweb.gentoo.org/proj/openrc.git/commit/?id=f9d41243

start-stop-daemon: convert snprintf calls to xasprintf

 src/rc/start-stop-daemon.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/rc/start-stop-daemon.c b/src/rc/start-stop-daemon.c
index a04a00ec..33f886c4 100644
--- a/src/rc/start-stop-daemon.c
+++ b/src/rc/start-stop-daemon.c
@@ -167,20 +167,20 @@ handle_signal(int sig)
 {
        int status;
        int serrno = errno;
-       char signame[10] = { '\0' };
+       char *signame = NULL;
 
        switch (sig) {
        case SIGINT:
-               if (!signame[0])
-                       snprintf(signame, sizeof(signame), "SIGINT");
+               if (!signame)
+                       xasprintf(&signame, "SIGINT");
                /* FALLTHROUGH */
        case SIGTERM:
-               if (!signame[0])
-                       snprintf(signame, sizeof(signame), "SIGTERM");
+               if (!signame)
+                       xasprintf(&signame, "SIGTERM");
                /* FALLTHROUGH */
        case SIGQUIT:
-               if (!signame[0])
-                       snprintf(signame, sizeof(signame), "SIGQUIT");
+               if (!signame)
+                       xasprintf(&signame, "SIGQUIT");
                eerrorx("%s: caught %s, aborting", applet, signame);
                /* NOTREACHED */
 
@@ -199,6 +199,9 @@ handle_signal(int sig)
                eerror("%s: caught unknown signal %d", applet, sig);
        }
 
+       /* free signame */
+       free(signame);
+
        /* Restore errno */
        errno = serrno;
 }
@@ -207,7 +210,6 @@ static char *
 expand_home(const char *home, const char *path)
 {
        char *opath, *ppath, *p, *nh;
-       size_t len;
        struct passwd *pw;
 
        if (!path || *path != '~')
@@ -238,9 +240,7 @@ expand_home(const char *home, const char *path)
                return xstrdup(home);
        }
 
-       len = strlen(ppath) + strlen(home) + 1;
-       nh = xmalloc(len);
-       snprintf(nh, len, "%s%s", home, ppath);
+       xasprintf(&nh, "%s%s", home, ppath);
        free(opath);
        return nh;
 }

Reply via email to