prctl does not work as well as this. Revert changeset 2731.
authorDaniel Hokka Zakrisson <daniel@hozac.com>
Fri, 11 Jul 2008 15:24:03 +0000 (15:24 +0000)
committerDaniel Hokka Zakrisson <daniel@hozac.com>
Fri, 11 Jul 2008 15:24:03 +0000 (15:24 +0000)
git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2733 94cd875c-1c1d-0410-91d2-eb244daf1a30

src/vlogin.c

index dc47f93..9466ad8 100644 (file)
@@ -38,7 +38,6 @@
 #include <signal.h>
 #include <pty.h>
 #include <fcntl.h>
-#include <sys/prctl.h>
 
 #define ENSC_WRAPPERS_PREFIX   "vlogin: "
 #define ENSC_WRAPPERS_IOCTL    1
@@ -197,11 +196,11 @@ signal_handler(int sig)
 
 }
 
-void do_vlogin(int UNUSED argc, char *argv[], int ind)
+void do_vlogin(int argc, char *argv[], int ind)
 {
   int slave;
   pid_t pid;
-  int n;
+  int n, i;
   fd_set rfds;
 
   if (!isatty(0) || !isatty(1)) {
@@ -253,7 +252,12 @@ void do_vlogin(int UNUSED argc, char *argv[], int ind)
   t.pid = pid;
 
   /* set process title for ps */
-  prctl(PR_SET_NAME, (unsigned long) "login");
+  n = strlen(argv[0]);
+
+  for (i = 0; i < argc; i++)
+    memset(argv[i], '\0', strlen(argv[i]));
+
+  strncpy(argv[0], "login", n);
 
   /* we want a redraw */
   terminal_redraw();