]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Backport r246903
authorMartin Liska <mliska@suse.cz>
Mon, 29 May 2017 09:12:02 +0000 (11:12 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Mon, 29 May 2017 09:12:02 +0000 (09:12 +0000)
2017-05-29  Martin Liska  <mliska@suse.cz>

Backport from mainline
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: r248565

gcc/ChangeLog
gcc/gcov-io.c

index 8eca3975c6290ece703a115468955d4c997530b7..78389055a72f351845ee71aea8b44583b73786b8 100644 (file)
@@ -1,3 +1,12 @@
+2017-05-29  Martin Liska  <mliska@suse.cz>
+
+       Backport from mainline
+       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-05-29  Martin Liska  <mliska@suse.cz>
 
        Backport from mainline
index cbd0a9f1471c2b2f0e6166ae84c72b3478448d9b..9044aec6fe6da95ad1888fc91c647a9d9046092d 100644 (file)
@@ -372,8 +372,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