summaryrefslogtreecommitdiff
path: root/tools/start-stop-daemon.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/start-stop-daemon.c')
-rw-r--r--tools/start-stop-daemon.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/tools/start-stop-daemon.c b/tools/start-stop-daemon.c
index 13118a2769..7ad2a84500 100644
--- a/tools/start-stop-daemon.c
+++ b/tools/start-stop-daemon.c
@@ -605,9 +605,9 @@ static void parse_options(int argc, char *const *argv)
static int pid_is_exec(pid_t pid, const struct stat *esb)
{
struct stat sb;
- char buf[32];
+ char buf[PATH_MAX];
- sprintf(buf, "/proc/%ld/exe", (long)pid);
+ snprintf(buf, sizeof(buf), "/proc/%ld/exe", (long)pid);
if (stat(buf, &sb) != 0)
return 0;
return (sb.st_dev == esb->st_dev && sb.st_ino == esb->st_ino);
@@ -617,9 +617,9 @@ static int pid_is_exec(pid_t pid, const struct stat *esb)
static int pid_is_user(pid_t pid, uid_t uid)
{
struct stat sb;
- char buf[32];
+ char buf[PATH_MAX];
- sprintf(buf, "/proc/%ld", (long)pid);
+ snprintf(buf, sizeof(buf), "/proc/%ld", (long)pid);
if (stat(buf, &sb) != 0)
return 0;
return (sb.st_uid == uid);
@@ -628,11 +628,11 @@ static int pid_is_user(pid_t pid, uid_t uid)
static int pid_is_cmd(pid_t pid, const char *name)
{
- char buf[32];
+ char buf[PATH_MAX];
FILE *f;
int c;
- sprintf(buf, "/proc/%ld/stat", (long)pid);
+ snprintf(buf, sizeof(buf), "/proc/%ld/stat", (long)pid);
f = fopen(buf, "r");
if (!f)
return 0;