[oe] [recipes-extended][PATCH] pax: strip off file name's trailing slash

Joe MacDonald Joe_MacDonald at mentor.com
Tue Jul 12 14:24:20 UTC 2016


[Re: [oe] [recipes-extended][PATCH] pax: strip off file name's trailing slash] On 16.07.12 (Tue 09:26) Gary Thomas wrote:

> On 2016-07-12 09:15, Zhang Xiao wrote:
> >When extracting packaes, the trailing slash of the file name
> >has no means but may cause some issue on system call lstat.
> >Remove it.
> >
> >Upstream-Status: Pending
> >
> >Signed-off-by: Zhang Xiao <xiao.zhang at windriver.com>
> >---
> >  .../pax-strip-off-file-name-s-trailing-slash.patch | 48 ++++++++++++++++++++++
> >  meta/recipes-extended/pax/pax_3.4.bb               |  4 +-
> >  2 files changed, 51 insertions(+), 1 deletion(-)
> >  create mode 100644 meta/recipes-extended/pax/pax/pax-strip-off-file-name-s-trailing-slash.patch
> >
> >diff --git a/meta/recipes-extended/pax/pax/pax-strip-off-file-name-s-trailing-slash.patch b/meta/recipes-extended/pax/pax/pax-strip-off-file-name-s-trailing-slash.patch
> >new file mode 100644
> >index 0000000..a602b30
> >--- /dev/null
> >+++ b/meta/recipes-extended/pax/pax/pax-strip-off-file-name-s-trailing-slash.patch
> >@@ -0,0 +1,48 @@
> >+From aa8ba118869b75a2a9cd681b2f0362d9d8f1c7ec Mon Sep 17 00:00:00 2001
> >+From: Zhang Xiao <xiao.zhang at windriver.com>
> >+Date: Tue, 12 Jul 2016 11:34:45 +0800
> >+Subject: [PATCH] pax: strip off file name's trailing slash
> >+
> >+When extracting packaes, the trailing slash of the file name
> >+has no means but may cause some issue on system call lstat.
> >+Remove it.
> >+
> >+Upstream-Status: Pending
> >+
> >+Signed-off-by: Zhang Xiao <xiao.zhang at windriver.com>
> >+---
> >+ src/pat_rep.c | 11 ++++++++++-
> >+ 1 file changed, 10 insertions(+), 1 deletion(-)
> >+
> >+diff --git a/src/pat_rep.c b/src/pat_rep.c
> >+index b9a4636..4cbf6bf 100644
> >+--- a/src/pat_rep.c
> >++++ b/src/pat_rep.c
> >+@@ -605,7 +605,7 @@ int
> >+ mod_name(ARCHD *arcn)
> >+ {
> >+ 	int res = 0;
> >+-
> >++	char *pt;
> >+ 	/*
> >+ 	 * Strip off leading '/' if appropriate.
> >+ 	 * Currently, this option is only set for the tar format.
> >+@@ -639,6 +639,15 @@ mod_name(ARCHD *arcn)
> >+ 	}
> >+
> >+ 	/*
> >++	 * strip off trailing slash.
> >++	 */
> >++	pt = &(arcn->name[strlen(arcn->name) - 1]);
> 
> This looks incorrect if the file name is only a single character.  You
> should only attempt this if strlen(arcn->name) >= 2

Also, isn't this already covered:

pax-3.4/src/pat_rep.c:

 363       /*
 364        * strip off any trailing /, this should really never happen
 365        */
 366       len = pt->plen - 1;
 367       if (*(pt->pstr + len) == '/') {
 368          *(pt->pstr + len) = '\0';
 369          pt->plen = len;
 370       }
 371       pt->flgs = DIR_MTCH | MTCH;
 372       arcn->pat = pt;
 373       return(0);

At the very least, it's probably worth doing it in the same way as it is
elsewhere in the file.

-J.

> 
> >++	if (*pt == '/') {
> >++		 *pt = '\0';
> >++		arcn->nlen = strlen(arcn->name);
> >++	}
> >++
> >++	/*
> >+ 	 * IMPORTANT: We have a problem. what do we do with symlinks?
> >+ 	 * Modifying a hard link name makes sense, as we know the file it
> >+ 	 * points at should have been seen already in the archive (and if it
> >+--
> >+1.8.5.2.233.g932f7e4
> >+
> >diff --git a/meta/recipes-extended/pax/pax_3.4.bb b/meta/recipes-extended/pax/pax_3.4.bb
> >index 9d1abfb..7ce43ce 100644
> >--- a/meta/recipes-extended/pax/pax_3.4.bb
> >+++ b/meta/recipes-extended/pax/pax_3.4.bb
> >@@ -16,7 +16,9 @@ DEPENDS_append_libc-musl = " fts "
> >
> >  SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BP}.tar.bz2/fbd9023b590b45ac3ade95870702a0d6/${BP}.tar.bz2 \
> >  	file://fix_for_compile_with_gcc-4.6.0.patch \
> >-	file://pax-3.4_fix_for_x32.patch"
> >+	file://pax-3.4_fix_for_x32.patch \
> >+	file://pax-strip-off-file-name-s-trailing-slash.patch \
> >+"
> >
> >  SRC_URI_append_libc-musl = " file://0001-Fix-build-with-musl.patch \
> >                               file://0001-use-strtoll-instead-of-strtoq.patch \
> >
> 
> 
> -- 
> ------------------------------------------------------------
> Gary Thomas                 |  Consulting for the
> MLB Associates              |    Embedded world
> ------------------------------------------------------------
-- 
-Joe MacDonald.
:wq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20160712/241b596e/attachment-0002.sig>


More information about the Openembedded-devel mailing list