opkg

statically linked package installer
git clone anongit@rnpnr.xyz:opkg.git
Log | Files | Refs | Feed | Submodules | README | LICENSE

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