[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] ia64 and ppc: Remove uses of strcpy and strncpy.



# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1170082893 0
# Node ID d2784d93e760ad96ab25cb7cacee491177708ce0
# Parent  bef7fbe25a9f380d40623795befacd447b026837
ia64 and ppc: Remove uses of strcpy and strncpy.
Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx>
---
 xen/arch/ia64/linux-xen/setup.c      |    5 +--
 xen/arch/ia64/xen/dom_fw.c           |   49 +++++++++++++++++++----------------
 xen/arch/ia64/xen/domain.c           |    3 --
 xen/arch/ia64/xen/gdbstub.c          |    2 -
 xen/arch/ia64/xen/oprofile/perfmon.c |    2 -
 xen/arch/powerpc/domain_build.c      |    2 -
 xen/arch/powerpc/of-devtree.c        |    3 --
 xen/arch/powerpc/ofd_fixup.c         |    2 -
 8 files changed, 35 insertions(+), 33 deletions(-)

diff -r bef7fbe25a9f -r d2784d93e760 xen/arch/ia64/linux-xen/setup.c
--- a/xen/arch/ia64/linux-xen/setup.c   Mon Jan 29 14:59:42 2007 +0000
+++ b/xen/arch/ia64/linux-xen/setup.c   Mon Jan 29 15:01:33 2007 +0000
@@ -424,8 +424,7 @@ setup_arch (char **cmdline_p)
                        else
                                len = strlen (mvec_name);
                        len = min(len, sizeof (str) - 1);
-                       strncpy (str, mvec_name, len);
-                       str[len] = '\0';
+                       strlcpy (str, mvec_name, len);
                        mvec_name = str;
                } else
                        mvec_name = acpi_get_sysname();
@@ -564,7 +563,7 @@ show_cpuinfo (struct seq_file *m, void *
                                *cp++ = sep;
                        sep = ',';
                        *cp++ = ' ';
-                       strcpy(cp, feature_bits[i].feature_name);
+                       strlcpy(cp, feature_bits[i].feature_name, 
sizeof(features));
                        cp += strlen(feature_bits[i].feature_name);
                        mask &= ~feature_bits[i].mask;
                }
diff -r bef7fbe25a9f -r d2784d93e760 xen/arch/ia64/xen/dom_fw.c
--- a/xen/arch/ia64/xen/dom_fw.c        Mon Jan 29 14:59:42 2007 +0000
+++ b/xen/arch/ia64/xen/dom_fw.c        Mon Jan 29 15:01:33 2007 +0000
@@ -333,13 +333,13 @@ dom_fw_fake_acpi(struct domain *d, struc
        memset(tables, 0, sizeof(struct fake_acpi_tables));
 
        /* setup XSDT (64bit version of RSDT) */
-       strncpy(xsdt->signature, XSDT_SIG, 4);
+       strlcpy(xsdt->signature, XSDT_SIG, sizeof(xsdt->signature));
        /* XSDT points to both the FADT and the MADT, so add one entry */
        xsdt->length = sizeof(struct xsdt_descriptor_rev2) + sizeof(u64);
        xsdt->revision = 1;
-       strcpy(xsdt->oem_id, "XEN");
-       strcpy(xsdt->oem_table_id, "Xen/ia64");
-       strcpy(xsdt->asl_compiler_id, "XEN");
+       strlcpy(xsdt->oem_id, "XEN", sizeof(xsdt->oem_id));
+       strlcpy(xsdt->oem_table_id, "Xen/ia64", sizeof(xsdt->oem_table_id));
+       strlcpy(xsdt->asl_compiler_id, "XEN", sizeof(xsdt->asl_compiler_id));
        xsdt->asl_compiler_revision = (xen_major_version() << 16) |
                xen_minor_version();
 
@@ -349,16 +349,16 @@ dom_fw_fake_acpi(struct domain *d, struc
        xsdt->checksum = generate_acpi_checksum(xsdt, xsdt->length);
 
        /* setup FADT */
-       strncpy(fadt->signature, FADT_SIG, 4);
+       strlcpy(fadt->signature, FADT_SIG, sizeof(fadt->signature));
        fadt->length = sizeof(struct fadt_descriptor_rev2);
        fadt->revision = FADT2_REVISION_ID;
-       strcpy(fadt->oem_id, "XEN");
-       strcpy(fadt->oem_table_id, "Xen/ia64");
-       strcpy(fadt->asl_compiler_id, "XEN");
+       strlcpy(fadt->oem_id, "XEN", sizeof(fadt->oem_id));
+       strlcpy(fadt->oem_table_id, "Xen/ia64", sizeof(fadt->oem_table_id));
+       strlcpy(fadt->asl_compiler_id, "XEN", sizeof(fadt->asl_compiler_id));
        fadt->asl_compiler_revision = (xen_major_version() << 16) |
                xen_minor_version();
 
-       strncpy(facs->signature, FACS_SIG, 4);
+       strlcpy(facs->signature, FACS_SIG, sizeof(facs->signature));
        facs->version = 1;
        facs->length = sizeof(struct facs_descriptor_rev2);
 
@@ -386,8 +386,8 @@ dom_fw_fake_acpi(struct domain *d, struc
        fadt->checksum = generate_acpi_checksum(fadt, fadt->length);
 
        /* setup RSDP */
-       strncpy(rsdp->signature, RSDP_SIG, 8);
-       strcpy(rsdp->oem_id, "XEN");
+       strlcpy(rsdp->signature, RSDP_SIG, sizeof(rsdp->signature));
+       strlcpy(rsdp->oem_id, "XEN", sizeof(rsdp->oem_id));
        rsdp->revision = 2; /* ACPI 2.0 includes XSDT */
        rsdp->length = sizeof(struct acpi20_table_rsdp);
        rsdp->xsdt_address = ACPI_TABLE_MPA(xsdt);
@@ -397,11 +397,11 @@ dom_fw_fake_acpi(struct domain *d, struc
        rsdp->ext_checksum = generate_acpi_checksum(rsdp, rsdp->length);
 
        /* setup DSDT with trivial namespace. */ 
-       strncpy(dsdt->signature, DSDT_SIG, 4);
+       strlcpy(dsdt->signature, DSDT_SIG, sizeof(dsdt->signature));
        dsdt->revision = 1;
-       strcpy(dsdt->oem_id, "XEN");
-       strcpy(dsdt->oem_table_id, "Xen/ia64");
-       strcpy(dsdt->asl_compiler_id, "XEN");
+       strlcpy(dsdt->oem_id, "XEN", sizeof(dsdt->oem_id));
+       strlcpy(dsdt->oem_table_id, "Xen/ia64", sizeof(dsdt->oem_table_id));
+       strlcpy(dsdt->asl_compiler_id, "XEN", sizeof(dsdt->asl_compiler_id));
        dsdt->asl_compiler_revision = (xen_major_version() << 16) |
                xen_minor_version();
 
@@ -409,7 +409,7 @@ dom_fw_fake_acpi(struct domain *d, struc
        tables->aml[0] = 0x10; /* Scope */
        tables->aml[1] = 0x40; /* length/offset to next object (patched) */
        tables->aml[2] = 0x00;
-       strncpy((char *)&tables->aml[3], "_SB_", 4);
+       strlcpy((char *)&tables->aml[3], "_SB_", 5);
 
        /* The processor object isn't absolutely necessary, revist for SMP */
        aml_len = 7;
@@ -437,11 +437,14 @@ dom_fw_fake_acpi(struct domain *d, struc
        dsdt->checksum = generate_acpi_checksum(dsdt, dsdt->length);
 
        /* setup MADT */
-       strncpy(madt->header.signature, APIC_SIG, 4);
+       strlcpy(madt->header.signature, APIC_SIG, 
sizeof(madt->header.signature));
        madt->header.revision = 2;
-       strcpy(madt->header.oem_id, "XEN");
-       strcpy(madt->header.oem_table_id, "Xen/ia64");
-       strcpy(madt->header.asl_compiler_id, "XEN");
+       strlcpy(madt->header.oem_id, "XEN",
+               sizeof(madt->header.oem_id));
+       strlcpy(madt->header.oem_table_id, "Xen/ia64",
+               sizeof(madt->header.oem_table_id));
+       strlcpy(madt->header.asl_compiler_id, "XEN",
+               sizeof(madt->header.asl_compiler_id));
        madt->header.asl_compiler_revision = (xen_major_version() << 16) |
                xen_minor_version();
 
@@ -760,8 +763,10 @@ dom_fw_init(struct domain *d,
        tables->sal_systab.sal_rev_major = 0;
        tables->sal_systab.entry_count = 2;
 
-       strcpy((char *)tables->sal_systab.oem_id, "Xen/ia64");
-       strcpy((char *)tables->sal_systab.product_id, "Xen/ia64");
+       strlcpy((char *)tables->sal_systab.oem_id, "Xen/ia64",
+               sizeof(tables->sal_systab.oem_id));
+       strlcpy((char *)tables->sal_systab.product_id, "Xen/ia64",
+               sizeof(tables->sal_systab.product_id));
 
        /* PAL entry point: */
        tables->sal_ed.type = SAL_DESC_ENTRY_POINT;
diff -r bef7fbe25a9f -r d2784d93e760 xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c        Mon Jan 29 14:59:42 2007 +0000
+++ b/xen/arch/ia64/xen/domain.c        Mon Jan 29 15:01:33 2007 +0000
@@ -1148,8 +1148,7 @@ int construct_dom0(struct domain *d,
        dom_fw_setup(d, bp_mpa, max_pages * PAGE_SIZE);
 
        /* Fill boot param.  */
-       strncpy((char *)si->cmd_line, dom0_command_line, sizeof(si->cmd_line));
-       si->cmd_line[sizeof(si->cmd_line)-1] = 0;
+       strlcpy((char *)si->cmd_line, dom0_command_line, sizeof(si->cmd_line));
 
        bp = (struct ia64_boot_param *)((unsigned char *)si +
                                        sizeof(start_info_t));
diff -r bef7fbe25a9f -r d2784d93e760 xen/arch/ia64/xen/gdbstub.c
--- a/xen/arch/ia64/xen/gdbstub.c       Mon Jan 29 14:59:42 2007 +0000
+++ b/xen/arch/ia64/xen/gdbstub.c       Mon Jan 29 15:01:33 2007 +0000
@@ -639,7 +639,7 @@ kgdb_get_reg(int regnum, struct unw_fram
                outbuffer[size*2] = 0;
        }
        else
-               strcpy(outbuffer, "E0");
+               strlcpy(outbuffer, "E0", sizeof("E0"));
 
        return;
 #else
diff -r bef7fbe25a9f -r d2784d93e760 xen/arch/ia64/xen/oprofile/perfmon.c
--- a/xen/arch/ia64/xen/oprofile/perfmon.c      Mon Jan 29 14:59:42 2007 +0000
+++ b/xen/arch/ia64/xen/oprofile/perfmon.c      Mon Jan 29 15:01:33 2007 +0000
@@ -119,7 +119,7 @@ xenoprof_arch_init(int *num_events, int 
 xenoprof_arch_init(int *num_events, int *is_primary, char *cpu_type)
 {
     *num_events = 0;
-    strncpy(cpu_type, get_cpu_type(), XENOPROF_CPU_TYPE_SIZE - 1);
+    strlcpy(cpu_type, get_cpu_type(), XENOPROF_CPU_TYPE_SIZE);
     cpu_type[XENOPROF_CPU_TYPE_SIZE - 1] = '\0';
 
     *is_primary = 0;
diff -r bef7fbe25a9f -r d2784d93e760 xen/arch/powerpc/domain_build.c
--- a/xen/arch/powerpc/domain_build.c   Mon Jan 29 14:59:42 2007 +0000
+++ b/xen/arch/powerpc/domain_build.c   Mon Jan 29 15:01:33 2007 +0000
@@ -290,7 +290,7 @@ int construct_dom0(struct domain *d,
 
     memset(si->cmd_line, 0, sizeof(si->cmd_line));
     if ( cmdline != NULL )
-        strncpy((char *)si->cmd_line, cmdline, sizeof(si->cmd_line)-1);
+        strlcpy((char *)si->cmd_line, cmdline, sizeof(si->cmd_line));
 
     v->arch.ctxt.msr = msr;
     v->arch.ctxt.pc = pc;
diff -r bef7fbe25a9f -r d2784d93e760 xen/arch/powerpc/of-devtree.c
--- a/xen/arch/powerpc/of-devtree.c     Mon Jan 29 14:59:42 2007 +0000
+++ b/xen/arch/powerpc/of-devtree.c     Mon Jan 29 15:01:33 2007 +0000
@@ -358,8 +358,7 @@ static ofdn_t ofd_node_create(
     n->on_io = 0;
     n->on_pathlen = pathlen;
     n->on_last = ofd_pathsplit_left(path, '/', pathlen);
-    strncpy(n->on_path, path, pathlen);
-    n->on_path[n->on_pathlen] = 0;
+    strlcpy(n->on_path, path, pathlen);
 
     return pos;
 }
diff -r bef7fbe25a9f -r d2784d93e760 xen/arch/powerpc/ofd_fixup.c
--- a/xen/arch/powerpc/ofd_fixup.c      Mon Jan 29 14:59:42 2007 +0000
+++ b/xen/arch/powerpc/ofd_fixup.c      Mon Jan 29 15:01:33 2007 +0000
@@ -267,7 +267,7 @@ static ofdn_t ofd_chosen_props(void *m, 
                      &path[1], sizeof (path) - 1);
     }
 
-    strcpy(bootargs, cmdline);
+    strlcpy(bootargs, cmdline, sizeof(bootargs));
     bsz = strlen(bootargs) + 1;
     rm = sizeof (bootargs) - bsz;
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.