0001-fts-Avoid-d_namlen.patch (1538B)
- From b546a0ae0beb2323143aed00d05e2fdf4fef5239 Mon Sep 17 00:00:00 2001
- From: Michael Forney <mforney@mforney.org>
- Date: Sun, 17 Apr 2016 23:50:15 -0700
- Subject: [PATCH] fts: Avoid d_namlen
- ---
- lib/libc/gen/fts.c | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
- diff --git a/lib/libc/gen/fts.c b/lib/libc/gen/fts.c
- index 98b3a0a39..c186b7af2 100644
- --- a/lib/libc/gen/fts.c
- +++ b/lib/libc/gen/fts.c
- @@ -555,6 +555,7 @@ fts_build(FTS *sp, int type)
- int nitems, cderrno, descend, level, nlinks, nostat, doadjust;
- int saved_errno;
- char *cp;
- + size_t namlen;
- /* Set current node pointer. */
- cur = sp->fts_cur;
- @@ -653,11 +654,12 @@ fts_build(FTS *sp, int type)
- if (!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name))
- continue;
- - if (!(p = fts_alloc(sp, dp->d_name, dp->d_namlen)))
- + namlen = strlen(dp->d_name);
- + if (!(p = fts_alloc(sp, dp->d_name, namlen)))
- goto mem1;
- - if (dp->d_namlen >= maxlen) { /* include space for NUL */
- + if (namlen >= maxlen) { /* include space for NUL */
- oldaddr = sp->fts_path;
- - if (fts_palloc(sp, dp->d_namlen +len + 1)) {
- + if (fts_palloc(sp, namlen +len + 1)) {
- /*
- * No more memory for path or structures. Save
- * errno, free up the current structure and the
- @@ -683,7 +685,7 @@ mem1: saved_errno = errno;
- p->fts_level = level;
- p->fts_parent = sp->fts_cur;
- - p->fts_pathlen = len + dp->d_namlen;
- + p->fts_pathlen = len + namlen;
- if (p->fts_pathlen < len) {
- /*
- * If we wrap, free up the current structure and
- --
- 2.12.2