--- xen-4.10.0/tools/libxc/xc_pm.c.orig 2017-12-13 11:37:59.000000000 +0000 +++ xen-4.10.0/tools/libxc/xc_pm.c 2018-02-10 21:33:02.116856335 +0000 @@ -305,7 +305,7 @@ sysctl.cmd = XEN_SYSCTL_pm_op; sysctl.u.pm_op.cmd = SET_CPUFREQ_GOV; sysctl.u.pm_op.cpuid = cpuid; - strncpy(scaling_governor, govname, CPUFREQ_NAME_LEN); + strncpy(scaling_governor, govname, CPUFREQ_NAME_LEN - 1); scaling_governor[CPUFREQ_NAME_LEN - 1] = '\0'; return xc_sysctl(xch, &sysctl); --- xen-4.10.0/tools/misc/xenperf.c.orig 2017-12-13 11:37:59.000000000 +0000 +++ xen-4.10.0/tools/misc/xenperf.c 2018-02-10 21:46:09.154694376 +0000 @@ -176,7 +176,7 @@ continue; if ( (j < 64) && hypercall_name_table[j] ) strncpy(hypercall_name, hypercall_name_table[j], - sizeof(hypercall_name)); + sizeof(hypercall_name)-1); else snprintf(hypercall_name, sizeof(hypercall_name), "[%d]", j); hypercall_name[sizeof(hypercall_name)-1]='\0'; --- xen-4.10.0/tools/misc/xen-lowmemd.c.orig 2017-12-13 11:37:59.000000000 +0000 +++ xen-4.10.0/tools/misc/xen-lowmemd.c 2018-02-10 22:12:45.366114605 +0000 @@ -41,7 +41,7 @@ xc_dominfo_t dom0_info; xc_physinfo_t info; unsigned long long free_pages, dom0_pages, diff, dom0_target; - char data[BUFSZ], error[BUFSZ]; + char data[BUFSZ], error[BUFSZ + 36]; if (xc_physinfo(xch, &info) < 0) { @@ -77,7 +77,7 @@ if (!xs_write(xs_handle, XBT_NULL, "/local/domain/0/memory/target", data, strlen(data))) { - snprintf(error, BUFSZ,"Failed to write target %s to xenstore", data); + snprintf(error, BUFSZ + 36,"Failed to write target %s to xenstore", data); perror(error); } } --- xen-4.10.0/tools/xenpmd/xenpmd.c.orig 2017-12-13 11:37:59.000000000 +0000 +++ xen-4.10.0/tools/xenpmd/xenpmd.c 2018-02-10 23:02:16.162049075 +0000 @@ -186,25 +186,25 @@ if ( strstr(attrib_name, "model number") ) { - strncpy(info->model_number, attrib_value, 32); + strncpy(info->model_number, attrib_value, 31); return; } if ( strstr(attrib_name, "serial number") ) { - strncpy(info->serial_number, attrib_value, 32); + strncpy(info->serial_number, attrib_value, 31); return; } if ( strstr(attrib_name, "battery type") ) { - strncpy(info->battery_type, attrib_value, 32); + strncpy(info->battery_type, attrib_value, 31); return; } if ( strstr(attrib_name, "OEM info") ) { - strncpy(info->oem_info, attrib_value, 32); + strncpy(info->oem_info, attrib_value, 31); return; } --- xen-4.10.0/tools/debugger/gdbsx/gx/gx_main.c.orig 2017-12-13 11:37:59.000000000 +0000 +++ xen-4.10.0/tools/debugger/gdbsx/gx/gx_main.c 2018-02-10 23:39:39.211459635 +0000 @@ -382,7 +382,7 @@ /* TBD: check if we stopped because of watchpoint */ if (watchpoint_stop()) { - strncpy(buf, "watch:", 6); + strncpy(buf, "watch:", 7); buf += 6; /* TBD: **/ } --- xen-4.10.0/tools/ocaml/libs/xc/xenctrl_stubs.c.orig 2018-02-22 19:09:08.609546441 +0000 +++ xen-4.10.0/tools/ocaml/libs/xc/xenctrl_stubs.c 2018-02-22 19:24:25.622166925 +0000 @@ -54,7 +54,7 @@ static void Noreturn failwith_xc(xc_interface *xch) { - char error_str[1028]; + char error_str[1029]; if (xch) { const xc_error *error = xc_get_last_error(xch); if (error->code == XC_ERROR_NONE) --- xen-4.10.0/tools/libxl/libxl_arm_acpi.c.orig 2017-12-13 11:37:59.000000000 +0000 +++ xen-4.10.0/tools/libxl/libxl_arm_acpi.c 2018-02-28 12:37:08.887221211 +0000 @@ -190,7 +190,7 @@ struct acpi_table_rsdp *rsdp = (void *)dom->acpi_modules[0].data + offset; memcpy(rsdp->signature, "RSD PTR ", sizeof(rsdp->signature)); - memcpy(rsdp->oem_id, ACPI_OEM_ID, sizeof(rsdp->oem_id)); + memcpy(rsdp->oem_id, ACPI_OEM_ID, sizeof(ACPI_OEM_ID)); rsdp->length = acpitables[RSDP].size; rsdp->revision = 0x02; rsdp->xsdt_physical_address = acpitables[XSDT].addr; @@ -205,11 +205,11 @@ memcpy(h->signature, sig, 4); h->length = len; h->revision = rev; - memcpy(h->oem_id, ACPI_OEM_ID, sizeof(h->oem_id)); - memcpy(h->oem_table_id, ACPI_OEM_TABLE_ID, sizeof(h->oem_table_id)); + memcpy(h->oem_id, ACPI_OEM_ID, sizeof(ACPI_OEM_ID)); + memcpy(h->oem_table_id, ACPI_OEM_TABLE_ID, sizeof(ACPI_OEM_TABLE_ID)); h->oem_revision = 0; memcpy(h->asl_compiler_id, ACPI_ASL_COMPILER_ID, - sizeof(h->asl_compiler_id)); + sizeof(ACPI_ASL_COMPILER_ID)); h->asl_compiler_revision = 0; h->checksum = 0; } --- xen-4.10.0/tools/xenpmd/xenpmd.c.orig 2018-02-28 16:18:50.377726049 +0000 +++ xen-4.10.0/tools/xenpmd/xenpmd.c 2018-02-28 16:20:31.502426829 +0000 @@ -352,7 +352,7 @@ strlen(info->model_number) + strlen(info->serial_number) + strlen(info->battery_type) + - strlen(info->oem_info) + 4)); + strlen(info->oem_info) + 4) & 0xff); write_ulong_lsb_first(val+2, info->present); write_ulong_lsb_first(val+10, info->design_capacity); write_ulong_lsb_first(val+18, info->last_full_capacity);