[GOLD] gcc-11 stringop-overflow warning

I'm unsure why this is deserving of a warning.  Not writing the most
efficient code surely can't be a real problem, but that is what
https://gcc.gnu.org/bugzilla//show_bug.cgi?id=88059#c1 seems to say.

plugin.cc:528:10: error: 'char* strncpy(char*, const char*, size_t)' specified bound depends on the length of the source argument [-Werror=stringop-overflow=]
  528 |   strncpy(tempdir, dir_template, len);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
plugin.cc:526:22: note: length computed here
  526 |   size_t len = strlen(dir_template) + 1;
      |                ~~~~~~^~~~~~~~~~~~~~

	* plugin.cc (Plugin_recorder::init): Replace strncpy with memcpy.
This commit is contained in:
Alan Modra 2020-12-07 17:16:46 +10:30
parent fde0214a91
commit cd8d2039b0
2 changed files with 5 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2020-12-07 Alan Modra <amodra@gmail.com>
* plugin.cc (Plugin_recorder::init): Replace strncpy with memcpy.
2020-12-03 Alan Modra <amodra@gmail.com>
* testsuite/Makefile.am (pr26936a.o): Pass -mx86-used-note=yes.

View File

@ -525,7 +525,7 @@ Plugin_recorder::init()
size_t len = strlen(dir_template) + 1;
char* tempdir = new char[len];
strncpy(tempdir, dir_template, len);
memcpy(tempdir, dir_template, len);
// Create the log file.
std::string logname(tempdir);