linux-qubasis
linux oasis port as a qubes template
git clone https://9o.is/git/linux-qubasis.git
0001-fts-Avoid-d_namlen.patch
(1538B)
1 From b546a0ae0beb2323143aed00d05e2fdf4fef5239 Mon Sep 17 00:00:00 2001
2 From: Michael Forney <mforney@mforney.org>
3 Date: Sun, 17 Apr 2016 23:50:15 -0700
4 Subject: [PATCH] fts: Avoid d_namlen
5
6 ---
7 lib/libc/gen/fts.c | 10 ++++++----
8 1 file changed, 6 insertions(+), 4 deletions(-)
9
10 diff --git a/lib/libc/gen/fts.c b/lib/libc/gen/fts.c
11 index 98b3a0a39..c186b7af2 100644
12 --- a/lib/libc/gen/fts.c
13 +++ b/lib/libc/gen/fts.c
14 @@ -555,6 +555,7 @@ fts_build(FTS *sp, int type)
15 int nitems, cderrno, descend, level, nlinks, nostat, doadjust;
16 int saved_errno;
17 char *cp;
18 + size_t namlen;
19
20 /* Set current node pointer. */
21 cur = sp->fts_cur;
22 @@ -653,11 +654,12 @@ fts_build(FTS *sp, int type)
23 if (!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name))
24 continue;
25
26 - if (!(p = fts_alloc(sp, dp->d_name, dp->d_namlen)))
27 + namlen = strlen(dp->d_name);
28 + if (!(p = fts_alloc(sp, dp->d_name, namlen)))
29 goto mem1;
30 - if (dp->d_namlen >= maxlen) { /* include space for NUL */
31 + if (namlen >= maxlen) { /* include space for NUL */
32 oldaddr = sp->fts_path;
33 - if (fts_palloc(sp, dp->d_namlen +len + 1)) {
34 + if (fts_palloc(sp, namlen +len + 1)) {
35 /*
36 * No more memory for path or structures. Save
37 * errno, free up the current structure and the
38 @@ -683,7 +685,7 @@ mem1: saved_errno = errno;
39
40 p->fts_level = level;
41 p->fts_parent = sp->fts_cur;
42 - p->fts_pathlen = len + dp->d_namlen;
43 + p->fts_pathlen = len + namlen;
44 if (p->fts_pathlen < len) {
45 /*
46 * If we wrap, free up the current structure and
47 --
48 2.12.2
49