ctdb-daemon: Replace an unsafe strcpy(3) call
authorMartin Schwenke <martin@meltin.net>
Fri, 18 Mar 2016 00:49:49 +0000 (11:49 +1100)
committerJeremy Allison <jra@samba.org>
Mon, 21 Mar 2016 23:23:20 +0000 (00:23 +0100)
Tweak another strncpy(3) call.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Jeremy Allison <jra@samba.org>
ctdb/server/ctdb_takeover.c

index 4adbb1184370ea493adf48181ec8fa5421d3290c..0cf8599a378f24bfe75005e6a58834501223f1ca 100644 (file)
@@ -2516,7 +2516,9 @@ int32_t ctdb_control_get_public_ip_info(struct ctdb_context *ctdb,
                if (vnn->iface == cur) {
                        info->active_idx = i;
                }
-               strncpy(info->ifaces[i].name, cur->name, sizeof(info->ifaces[i].name)-1);
+               strncpy(info->ifaces[i].name, cur->name,
+                       sizeof(info->ifaces[i].name));
+               info->ifaces[i].name[sizeof(info->ifaces[i].name)-1] = '\0';
                info->ifaces[i].link_state = cur->link_up;
                info->ifaces[i].references = cur->references;
        }
@@ -2551,7 +2553,9 @@ int32_t ctdb_control_get_ifaces(struct ctdb_context *ctdb,
 
        i = 0;
        for (cur=ctdb->ifaces;cur;cur=cur->next) {
-               strcpy(ifaces->ifaces[i].name, cur->name);
+               strncpy(ifaces->ifaces[i].name, cur->name,
+                       sizeof(ifaces->ifaces[i].name));
+               ifaces->ifaces[i].name[sizeof(ifaces->ifaces[i].name)-1] = '\0';
                ifaces->ifaces[i].link_state = cur->link_up;
                ifaces->ifaces[i].references = cur->references;
                i++;