There's no obvious need to strdup() the name of the container in the handler.
We can simply make this a pointer to the memory allocated in
lxc_container_new().
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
memset(&rsp, 0, sizeof(rsp));
- rsp.data = handler->name;
+ rsp.data = (char *)handler->name;
rsp.datalen = strlen(handler->name) + 1;
rsp.ret = 0;
}
#define LXC_USERNIC_PATH LIBEXECDIR "/lxc/lxc-user-nic"
-static int lxc_create_network_unpriv_exec(const char *lxcpath, char *lxcname,
+static int lxc_create_network_unpriv_exec(const char *lxcpath, const char *lxcname,
struct lxc_netdev *netdev, pid_t pid)
{
int ret;
return 0;
}
-static int lxc_delete_network_unpriv_exec(const char *lxcpath, char *lxcname,
+static int lxc_delete_network_unpriv_exec(const char *lxcpath, const char *lxcname,
struct lxc_netdev *netdev,
const char *netns_path)
{
return 0;
}
-int lxc_network_move_created_netdev_priv(const char *lxcpath, char *lxcname,
+int lxc_network_move_created_netdev_priv(const char *lxcpath, const char *lxcname,
struct lxc_list *network, pid_t pid)
{
int ret;
return 0;
}
-int lxc_create_network_unpriv(const char *lxcpath, char *lxcname,
+int lxc_create_network_unpriv(const char *lxcpath, const char *lxcname,
struct lxc_list *network, pid_t pid)
{
struct lxc_list *iterator;
extern int netdev_get_mtu(int ifindex);
extern int lxc_create_network_priv(struct lxc_handler *handler);
extern int lxc_network_move_created_netdev_priv(const char *lxcpath,
- char *lxcname,
+ const char *lxcname,
struct lxc_list *network,
pid_t pid);
extern void lxc_delete_network(struct lxc_handler *handler);
extern int lxc_find_gateway_addresses(struct lxc_handler *handler);
-extern int lxc_create_network_unpriv(const char *lxcpath, char *lxcname,
+extern int lxc_create_network_unpriv(const char *lxcpath, const char *lxcname,
struct lxc_list *network, pid_t pid);
extern int lxc_requests_empty_network(struct lxc_handler *handler);
extern int lxc_restore_phys_nics_to_netns(struct lxc_handler *handler);
if (handler->state_socket_pair[1] >= 0)
close(handler->state_socket_pair[1]);
- if (handler->name)
- free(handler->name);
-
handler->conf = NULL;
free(handler);
}
for (i = 0; i < LXC_NS_MAX; i++)
handler->nsfd[i] = -1;
- handler->name = strdup(name);
- if (!handler->name) {
- ERROR("failed to allocate memory");
- goto on_error;
- }
+ handler->name = name;
if (daemonize && !handler->conf->reboot) {
/* Create socketpair() to synchronize on daemonized startup.
if (handler->conf->ephemeral == 1 && handler->conf->reboot != 1)
lxc_destroy_container_on_signal(handler, name);
- free(handler->name);
free(handler);
}
/* Socketpair to synchronize processes during container creation. */
int sync_sock[2];
- /* The name of the container. */
- char *name;
+ /* Pointer to the name of the container. Do not free! */
+ const char *name;
- /* The path the container is running in. */
+ /* Pointer to the path the container. Do not free! */
const char *lxcpath;
/* Whether the container's startup process euid is 0. */