]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix comments in _dl_dst_count and _dl_dst_substitute.
authorCarlos O'Donell <carlos@redhat.com>
Wed, 13 Jun 2018 03:31:02 +0000 (23:31 -0400)
committerCarlos O'Donell <carlos@redhat.com>
Wed, 13 Jun 2018 03:35:06 +0000 (23:35 -0400)
The comments in _dl_dst_count is adjusted to match what the code does
which is count DSTs from the start of the string. With the removal of
DL_DST_COUNT we no longer accept an input that starts at the first $.

In _dl_dst_substitute we adjust the comment to indicate that both
conditions must be true for the SUID/SGID $ORIGIN exception.

ChangeLog
elf/dl-load.c

index f3ba04589632c7739e16d411fd43bf50877c57da..9fbd48d848c09f2454d61c79fe91a2a8775992e5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2018-06-12  Carlos O'Donell  <carlos@redhat.com>
 
+       * elf/dl-load (_dl_dst_substitute): Correct comment.
+       (_dl_dst_count): Likewise.
+
        * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Call
        lll_futex_timed_wait.
 
index e81601f36dad71bde5f052865d75c9fd26745bec..09185ab68dee4b78ecfb0c2d60764ffdef88c399 100644 (file)
@@ -219,11 +219,11 @@ is_dst (const char *input, const char *ref)
     return rlen;
 }
 
-/* INPUT is the start of a DST sequence at the first '$' occurrence.
-   If there is a DST we call into _dl_dst_count to count the number of
-   DSTs.  We count all known DSTs regardless of __libc_enable_secure;
-   the caller is responsible for enforcing the security of the
-   substitution rules (usually _dl_dst_substitute).  */
+/* INPUT should be the start of a path e.g DT_RPATH or name e.g.
+   DT_NEEDED.  The return value is the number of known DSTs found.  We
+   count all known DSTs regardless of __libc_enable_secure; the caller
+   is responsible for enforcing the security of the substitution rules
+   (usually _dl_dst_substitute).  */
 size_t
 _dl_dst_count (const char *input)
 {
@@ -292,7 +292,9 @@ _dl_dst_substitute (struct link_map *l, const char *input, char *result)
                   * $ORIGIN appears as the first path element, and is
                     the only string in the path or is immediately
                     followed by a path separator and the rest of the
-                    path.
+                    path,
+
+                  and ...
 
                   * The path is rooted in a trusted directory.