[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #48030] -exec + does not pass all arguments for ceratin specific fi

From: Joe Philip Ninan
Subject: [bug #48030] -exec + does not pass all arguments for ceratin specific filename lengths
Date: Thu, 26 May 2016 20:10:26 +0000 (UTC)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0

Follow-up Comment #1, bug #48030 (project findutils):

Just to make sure this bug has nothing to do with any of the individual
filenames, I tried it on generic filenames in such a way the total length of
the arguments is same.

# Following is how one can simply reproduce the bug 

## First generate a very specific size sample directory
### Length of the filenames are crucial here

$ mkdir RashuBug
$ for i in $(seq -f "%04g" 901) ; do touch RashuBug/abcdefghijklmnopqrstuv$i ;
$ for i in $(seq -f "%04g" 902 3719) ; do touch
RashuBug/abcdefghijklmnopqrstu$i ; done

$ ls RashuBug/* | wc -l
3719 # Number of files we have created in directory

## Now create an echo command which is 6 characters long
$ ln -s /bin/echo /bin/echooo   # as root

## See the difference in the output of the following two commands

$ find RashuBug -type f -exec echo {} + | tr ' ' 'n' | wc -l
3719  # Correct answer

$ find RashuBug -type f -exec echooo {} + | tr ' ' 'n' | wc -l
3718  # Wrong answer (Last file went missing!)


Reply to this item at:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]