From: Martin Liska Date: Mon, 29 May 2017 09:12:02 +0000 (+0200) Subject: Backport r246903 X-Git-Tag: releases/gcc-5.5.0~323 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8d425fb1bf13364991e7a58403c04dd5a1859e42;p=thirdparty%2Fgcc.git Backport r246903 2017-05-29 Martin Liska Backport from mainline 2017-04-13 Martin Liska PR gcov-profile/80413 * gcov-io.c (gcov_write_string): Copy to buffer just when allocated size is greater than zero. From-SVN: r248565 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8eca3975c629..78389055a72f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2017-05-29 Martin Liska + + Backport from mainline + 2017-04-13 Martin Liska + + 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 Backport from mainline diff --git a/gcc/gcov-io.c b/gcc/gcov-io.c index cbd0a9f1471c..9044aec6fe6d 100644 --- a/gcc/gcov-io.c +++ b/gcc/gcov-io.c @@ -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