pax(1) gets stuck in a loop creating intermediate directories

2016-02-14 Thread Nicolas Bedos
>Synopsis: pax(1) gets stuck in a loop creating intermediate directories >Category: user >Environment: System : OpenBSD 5.8 Details : OpenBSD 5.8 (GENERIC.MP) #1236: Sun Aug 16 02:31:04 MDT 2015 dera...@amd64.openbsd.org:/usr/src/sys/a

Re: pax(1) gets stuck in a loop creating intermediate directories

2016-02-14 Thread Philip Guenther
On Sun, 14 Feb 2016, Nicolas Bedos wrote: ... > >Description: > Please note I could only test this on a -stable machine. > > pax(1) gets stuck in an infinite loop when recreating intermediate > directories from a pathname ending with '/' while extracting a cpio > archive It can al

Re: pax(1) gets stuck in a loop creating intermediate directories

2016-02-15 Thread Philip Guenther
On Sun, 14 Feb 2016, Philip Guenther wrote: > On Sun, 14 Feb 2016, Nicolas Bedos wrote: ... > > >Fix: > > I did some digging and it seems pax gets stuck in a loop after > > calling node_creat (file_subs.c) to create /tmp/foo/bar: > ... > > The first argument of chk_path seems to end wi

Re: pax(1) gets stuck in a loop creating intermediate directories

2016-02-15 Thread Vadim Zhukov
2016-02-16 1:22 GMT+03:00 Philip Guenther : > On Sun, 14 Feb 2016, Philip Guenther wrote: >> On Sun, 14 Feb 2016, Nicolas Bedos wrote: > ... >> > >Fix: >> > I did some digging and it seems pax gets stuck in a loop after >> > calling node_creat (file_subs.c) to create /tmp/foo/bar: >> ... >>

Re: pax(1) gets stuck in a loop creating intermediate directories

2016-02-15 Thread Philip Guenther
On Mon, 15 Feb 2016, Vadim Zhukov wrote: > > @@ -613,6 +614,17 @@ chk_path(char *name, uid_t st_uid, gid_t > > Hello, Philip. > > I think we should change "if" to "while" in this function, too... > After that, okay zhuk@. ... > /* >* watch out for paths with nodes stored directly in

Re: pax(1) gets stuck in a loop creating intermediate directories

2016-02-16 Thread Nicolas Bedos
On Mon Feb 15, Philip Guenther wrote: > ...and since pax's tar format code only trims a single trailing slash, it > will loop even in that case if you add more than one trailing slash. > > Indeed, if you add more than one trailing slash in general then it'll > still hang despite your patch: to