[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] hvmloader/smbios: Change strncpy to memcpy for anchor strings.
>>> On 23.09.13 at 20:22, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote: > 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 <andrew.cooper3@xxxxxxxxxx> > CC: Keir Fraser <keir@xxxxxxx> Reviewed by: Jan Beulich <jbeulich@xxxxxxxx> > --- > 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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |