]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Fix dangling reference in filesystem::path::filename()
authorJonathan Wakely <jwakely@redhat.com>
Fri, 28 Oct 2022 14:28:09 +0000 (15:28 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 24 Nov 2022 13:46:17 +0000 (13:46 +0000)
The new -Wdangling-reference warning noticed this.

libstdc++-v3/ChangeLog:

* include/bits/fs_path.h (path::filename()): Fix dangling
reference.

(cherry picked from commit 49237fe6ef677a81eae701f937546210c90b5914)

libstdc++-v3/include/bits/fs_path.h

index 1b4a1b69f377417ca5d140e55fdf99ccf13c283d..7a3d051313472e17e434a3ed4206040e8b40de63 100644 (file)
@@ -1288,9 +1288,9 @@ namespace __detail
       {
        if (_M_pathname.back() == preferred_separator)
          return {};
-       auto& __last = *--end();
-       if (__last._M_type() == _Type::_Filename)
-         return __last;
+       auto __last = --end();
+       if (__last->_M_type() == _Type::_Filename)
+         return *__last;
       }
     return {};
   }