Do not call memcpy with a NULL argument (PR gcov-profile/80413).
authorMartin Liska <mliska@suse.cz>
Thu, 13 Apr 2017 11:51:28 +0000 (13:51 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Thu, 13 Apr 2017 11:51:28 +0000 (11:51 +0000)
2017-04-13  Martin Liska  <mliska@suse.cz>

PR gcov-profile/80413
* gcov-io.c (gcov_write_string): Copy to buffer just when
allocated size is greater than zero.

From-SVN: r246903

gcc/ChangeLog
gcc/gcov-io.c

index 8918882fe424e427d844f1969374f20e574795d7..740ca6664561f20b3810217655e227cf1d690f5d 100644 (file)
@@ -1,3 +1,9 @@
+2017-04-13  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/80413
+       * gcov-io.c (gcov_write_string): Copy to buffer just when
+       allocated size is greater than zero.
+
 2017-04-13  Jakub Jelinek  <jakub@redhat.com>
 
        PR debug/80321
index 3b6b022d14363ed5a4d53448507de9cb821f4ebb..64dedd5528edd7399974890a35a6b1ce80fb1182 100644 (file)
@@ -347,8 +347,12 @@ gcov_write_string (const char *string)
   buffer = gcov_write_words (1 + alloc);
 
   buffer[0] = alloc;
-  buffer[alloc] = 0;
-  memcpy (&buffer[1], string, length);
+
+  if (alloc > 0)
+    {
+      buffer[alloc] = 0; /* place nul terminators.  */
+      memcpy (&buffer[1], string, length);
+    }
 }
 #endif