]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
handler: make name argument const
authorChristian Brauner <christian.brauner@ubuntu.com>
Sat, 28 Oct 2017 20:05:18 +0000 (22:05 +0200)
committerChristian Brauner <christian.brauner@ubuntu.com>
Thu, 9 Nov 2017 00:21:10 +0000 (01:21 +0100)
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>
src/lxc/commands.c
src/lxc/network.c
src/lxc/network.h
src/lxc/start.c
src/lxc/start.h

index 647014d1b8338d60712432dcc27d0d0c0ef792a3..faa5e6e2a4ac48961c3b4348bda797bb0c146417 100644 (file)
@@ -781,7 +781,7 @@ static int lxc_cmd_get_name_callback(int fd, struct lxc_cmd_req *req,
 
        memset(&rsp, 0, sizeof(rsp));
 
-       rsp.data = handler->name;
+       rsp.data = (char *)handler->name;
        rsp.datalen = strlen(handler->name) + 1;
        rsp.ret = 0;
 
index 9b37e53d25e9d46634fe0be5f40586dc65ee7caf..d4d1f8340a4a1d5b895c63f8dc70d69ce3a6c726 100644 (file)
@@ -2022,7 +2022,7 @@ int lxc_find_gateway_addresses(struct lxc_handler *handler)
 }
 
 #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;
@@ -2166,7 +2166,7 @@ static int lxc_create_network_unpriv_exec(const char *lxcpath, char *lxcname,
        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)
 {
@@ -2380,7 +2380,7 @@ int lxc_create_network_priv(struct lxc_handler *handler)
        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;
@@ -2420,7 +2420,7 @@ int lxc_network_move_created_netdev_priv(const char *lxcpath, char *lxcname,
        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;
index ef89e6fc76399d36fbce14084bc26b5b66eeeaae..50f5b51c25b8b90df919c3f8c7b93fed2ef9ed20 100644 (file)
@@ -293,12 +293,12 @@ extern int setup_private_host_hw_addr(char *veth1);
 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);
index 2630eb96e3c45ba5739a668c1daf8a0661006e48..d565438af039f2755a3d0b3b52838aa516b9fabf 100644 (file)
@@ -522,9 +522,6 @@ void lxc_free_handler(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);
 }
@@ -558,11 +555,7 @@ struct lxc_handler *lxc_init_handler(const char *name, struct lxc_conf *conf,
        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.
@@ -783,7 +776,6 @@ void lxc_fini(const char *name, struct lxc_handler *handler)
        if (handler->conf->ephemeral == 1 && handler->conf->reboot != 1)
                lxc_destroy_container_on_signal(handler, name);
 
-       free(handler->name);
        free(handler);
 }
 
index 5955dfd79d07d2cf1570c65daec55b4357b589dd..be724bcaf5190cf6d82fb9c41c00c126b6434f54 100644 (file)
@@ -67,10 +67,10 @@ struct lxc_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. */