From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH] hvmloader/smbios: Change strncpy to memcpy for anchor strings. Date: Mon, 23 Sep 2013 19:22:09 +0100 Message-ID: <1379960529-4978-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Xen-devel Cc: Andrew Cooper , Keir Fraser , Jan Beulich List-Id: xen-devel@lists.xenproject.org Coverity complains about the use of strncpy() to completely fill the anchor strings, resulting in an unterminated string. Although the strncpy result is correct, the anchor strings are not strings in the C sense, and use of memcpy is the prevaling style elsewhere in hvmloader anyway. While tidying up the style in this function, also remove some trailing whitespace and gratuitous cast. Signed-off-by: Andrew Cooper CC: Keir Fraser CC: Jan Beulich --- tools/firmware/hvmloader/smbios.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/firmware/hvmloader/smbios.c b/tools/firmware/hvmloader/smbios.c index 9f292cc..900f4e7 100644 --- a/tools/firmware/hvmloader/smbios.c +++ b/tools/firmware/hvmloader/smbios.c @@ -347,18 +347,19 @@ smbios_entry_point_init(void *start, { uint8_t sum; int i; - struct smbios_entry_point *ep = (struct smbios_entry_point *)start; + struct smbios_entry_point *ep = start; memset(ep, 0, sizeof(*ep)); - strncpy(ep->anchor_string, "_SM_", 4); + memcpy(ep->anchor_string, "_SM_", sizeof(ep->anchor_string)); ep->length = 0x1f; ep->smbios_major_version = 2; ep->smbios_minor_version = 4; ep->max_structure_size = max_structure_size; ep->entry_point_revision = 0; - strncpy(ep->intermediate_anchor_string, "_DMI_", 5); - + memcpy(ep->intermediate_anchor_string, "_DMI_", + sizeof(ep->intermediate_anchor_string)); + ep->structure_table_length = structure_table_length; ep->structure_table_address = structure_table_address; ep->number_of_structures = number_of_structures; -- 1.7.10.4