aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/src
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2020-09-22 20:02:58 +0100
committerJonathan Wakely <jwakely@redhat.com>2020-09-22 20:02:58 +0100
commit49ff88bd0d8a36a9e903f01ce05685cfe07dee5d (patch)
treecb98506a941642825651753585aa5e5b41065cab /libstdc++-v3/src
parent809192e77e6e112a0fe32dee7fada7a49fbf25cd (diff)
downloadgcc-49ff88bd0d8a36a9e903f01ce05685cfe07dee5d.zip
gcc-49ff88bd0d8a36a9e903f01ce05685cfe07dee5d.tar.gz
gcc-49ff88bd0d8a36a9e903f01ce05685cfe07dee5d.tar.bz2
libstdc++: Fix out-of-bounds string_view access in filesystem::path [PR 97167]
libstdc++-v3/ChangeLog: PR libstdc++/97167 * src/c++17/fs_path.cc (path::_Parser::root_path()): Check for empty string before inspecting the first character. * testsuite/27_io/filesystem/path/append/source.cc: Append empty string_view to path.
Diffstat (limited to 'libstdc++-v3/src')
-rw-r--r--libstdc++-v3/src/c++17/fs_path.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/libstdc++-v3/src/c++17/fs_path.cc b/libstdc++-v3/src/c++17/fs_path.cc
index cea7aa0..6e907b1 100644
--- a/libstdc++-v3/src/c++17/fs_path.cc
+++ b/libstdc++-v3/src/c++17/fs_path.cc
@@ -81,7 +81,7 @@ struct path::_Parser
const size_t len = input.size();
// look for root name or root directory
- if (is_dir_sep(input[0]))
+ if (len && is_dir_sep(input[0]))
{
#if SLASHSLASH_IS_ROOTNAME
// look for root name, such as "//foo"