autodestroy = 1;
}
- /* lxc-init --mount-procfs -- .... */
- args = malloc((my_args.argc + 8)*sizeof(*args));
+ args = alloca((my_args.argc + 3)*sizeof(*args));
if (!args) {
ERROR("failed to allocate memory for '%s'", my_args.name);
goto out;
nbargs = 0;
args[nbargs++] = LXCLIBEXECDIR "/lxc-init";
- args[nbargs++] = "--mount-procfs";
+
if (my_args.log_file) {
args[nbargs++] = "--logfile";
- args[nbargs++] = my_args.log_file;
+ args[nbargs++] = strdupa(my_args.log_file);
}
if (my_args.log_priority) {
args[nbargs++] = "--logpriority";
- args[nbargs++] = my_args.log_priority;
+ args[nbargs++] = strdupa(my_args.log_priority);
}
if (my_args.quiet) {
args[nbargs++] = "--quiet";
args[nbargs++] = "--";
for (opt = 0; opt < my_args.argc; opt++)
- args[nbargs++] = my_args.argv[opt];
+ args[nbargs++] = strdupa(my_args.argv[opt]);
+
+ args[nbargs] = '\0';
ret = lxc_start(my_args.name, args);
out:
lxc_log_define(lxc_init, lxc);
-static int mount_sysfs;
-static int mount_procfs;
static char const *log_file;
static char const *log_priority;
static int quiet;
static struct option options[] = {
- { "mount-sysfs", no_argument, &mount_sysfs, 1 },
- { "mount-procfs", no_argument, &mount_procfs, 1 },
{ "logfile", required_argument, 0, 'o' },
{ "logpriority", required_argument, 0, 'l' },
{ "quiet", no_argument, &quiet, 1 },
if (!pid) {
- if (mount_sysfs && mount("sysfs", "/sys", "sysfs", 0, NULL)) {
- ERROR("failed to mount '/sys' : %s", strerror(errno));
- exit(err);
- }
-
- if (mount_procfs && mount("proc", "/proc", "proc", 0, NULL)) {
+ if (mount("proc", "/proc", "proc", 0, NULL)) {
ERROR("failed to mount '/proc' : %s", strerror(errno));
exit(err);
}