diff options
author | Martin Liska <mliska@suse.cz> | 2019-06-25 13:49:36 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2019-06-25 11:49:36 +0000 |
commit | e5ce4cbc72adbfc8284ed6998b7d36c9f50c1ef6 (patch) | |
tree | 9b9f10ab154d00d906d5f723bb773a64c7e4557d /libgcc | |
parent | b1e86e33a284b6b385c3b8ade42f2f9acf582a45 (diff) | |
download | gcc-e5ce4cbc72adbfc8284ed6998b7d36c9f50c1ef6.zip gcc-e5ce4cbc72adbfc8284ed6998b7d36c9f50c1ef6.tar.gz gcc-e5ce4cbc72adbfc8284ed6998b7d36c9f50c1ef6.tar.bz2 |
Do not call strlen with NULL argument in libgcov.
2019-06-25 Martin Liska <mliska@suse.cz>
* libgcov-driver-system.c (replace_filename_variables): Do not
call strlen with NULL argument.
From-SVN: r272650
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 5 | ||||
-rw-r--r-- | libgcc/libgcov-driver-system.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 4b9a470..a589615 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2019-06-25 Martin Liska <mliska@suse.cz> + + * libgcov-driver-system.c (replace_filename_variables): Do not + call strlen with NULL argument. + 2019-06-25 Andrew Stubbs <ams@codesourcery.com> * config/gcn/t-amdgcn (LIB2ADD): Add unwind-gcn.c. diff --git a/libgcc/libgcov-driver-system.c b/libgcc/libgcov-driver-system.c index b5f3e89..39dc627 100644 --- a/libgcc/libgcov-driver-system.c +++ b/libgcc/libgcov-driver-system.c @@ -186,13 +186,14 @@ replace_filename_variables (char *filename) /* Concat beginning of the path, replacement and ending of the path. */ unsigned end = length - (p - filename); - unsigned repl_length = strlen (replacement); + unsigned repl_length = replacement != NULL ? strlen (replacement) : 0; char *buffer = (char *)xmalloc (start + end + repl_length + 1); char *buffer_ptr = buffer; buffer_ptr = (char *)memcpy (buffer_ptr, filename, start); buffer_ptr += start; - buffer_ptr = (char *)memcpy (buffer_ptr, replacement, repl_length); + if (replacement != NULL) + buffer_ptr = (char *)memcpy (buffer_ptr, replacement, repl_length); buffer_ptr += repl_length; buffer_ptr = (char *)memcpy (buffer_ptr, p, end); buffer_ptr += end; |