]> 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>
Fri, 3 Nov 2017 07:37:08 +0000 (08:37 +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 4d440ba78261b833caedac1743d247b3ba4f9cd6..86d5b0208b8b6238fcd45390146c70d2323694c2 100644 (file)
@@ -835,7 +835,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 909b7e58b3a7dc0788314462e452090d4781696c..da62594478e2a64627570b6bdb65b47774b63af2 100644 (file)
@@ -2050,7 +2050,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;
@@ -2194,7 +2194,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)
 {
@@ -2408,7 +2408,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;
@@ -2448,7 +2448,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 3bacdc2b0b2c32941f63a2439dceb3fc528a28a4..971ef367dd1579e0aa731c35fcb3866e18f616d8 100644 (file)
@@ -263,12 +263,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 e25bb23e107c66811c9c5bebdf86e001c0f96ba1..e3827c2b7320a182b34d579027f5502d791a50b9 100644 (file)
@@ -525,9 +525,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);
 }
@@ -561,11 +558,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.
@@ -786,7 +779,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. */