Commit 75be0217 by Jim Meyering Committed by Jim Meyering

genmodes: remove misleading use of strncpy

* genmodes.c (make_complex_modes): Avoid unnecessary use of strncpy.
We verified above that the string(including trailing NUL) fits in buf,
so just use memcpy.

From-SVN: r186596
parent f68c0487
2012-04-19 Jim Meyering <meyering@redhat.com>
genmodes: remove misleading use of strncpy
* genmodes.c (make_complex_modes): Avoid unnecessary use of strncpy.
We verified above that the string(including trailing NUL) fits in buf,
so just use memcpy.
2012-04-19 Richard Guenther <rguenther@suse.de>
* symtab.c (dump_symtab_base): Use TREE_STRING_POINTER
......
/* Generate the machine mode enumeration and associated tables.
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
......@@ -435,11 +435,14 @@ make_complex_modes (enum mode_class cl,
for (m = modes[cl]; m; m = m->next)
{
size_t m_len;
/* Skip BImode. FIXME: BImode probably shouldn't be MODE_INT. */
if (m->precision == 1)
continue;
if (strlen (m->name) >= sizeof buf)
m_len = strlen (m->name);
if (m_len >= sizeof buf)
{
error ("%s:%d:mode name \"%s\" is too long",
m->file, m->line, m->name);
......@@ -452,7 +455,8 @@ make_complex_modes (enum mode_class cl,
if (cl == MODE_FLOAT)
{
char *p, *q = 0;
strncpy (buf, m->name, sizeof buf);
/* We verified above that m->name+NUL fits in buf. */
memcpy (buf, m->name, m_len + 1);
p = strchr (buf, 'F');
if (p == 0)
q = strchr (buf, 'D');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment