The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxc/pull/1408

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===
Closes #1407

Signed-off-by: Tycho Andersen <tycho.ander...@canonical.com>
From be69ad435d6ef810dad446f380df16c63bcbdc88 Mon Sep 17 00:00:00 2001
From: Tycho Andersen <tycho.ander...@canonical.com>
Date: Thu, 2 Feb 2017 09:36:31 +0100
Subject: [PATCH] util: always malloc for setproctitle

Closes #1407

Signed-off-by: Tycho Andersen <tycho.ander...@canonical.com>
---
 src/lxc/utils.c | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)

diff --git a/src/lxc/utils.c b/src/lxc/utils.c
index 0227c32..24000aa 100644
--- a/src/lxc/utils.c
+++ b/src/lxc/utils.c
@@ -1463,34 +1463,24 @@ int setproctitle(char *title)
        if (!tmp)
                return -1;
 
-       i = sscanf(tmp, "%lu %lu %lu %lu %lu %lu %lu",
+       i = sscanf(tmp, "%lu %lu %lu %*u %*u %lu %lu",
                &start_data,
                &end_data,
                &start_brk,
-               &arg_start,
-               &arg_end,
                &env_start,
                &env_end);
-       if (i != 7)
+       if (i != 5)
                return -1;
 
        /* Include the null byte here, because in the calculations below we
         * want to have room for it. */
        len = strlen(title) + 1;
 
-       /* If we don't have enough room by just overwriting the old proctitle,
-        * let's allocate a new one.
-        */
-       if (len > arg_end - arg_start) {
-               void *m;
-               m = realloc(proctitle, len);
-               if (!m)
-                       return -1;
-               proctitle = m;
-
-               arg_start = (unsigned long) proctitle;
-       }
+       proctitle = realloc(proctitle, len);
+       if (!proctitle)
+               return -1;
 
+       arg_start = (unsigned long) proctitle;
        arg_end = arg_start + len;
 
        brk_val = syscall(__NR_brk, 0);
_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to