How to take down a system to the point of requiring a newfs with one line of C (userland)

Speedtoys speedtoys.racing at gmail.com
Mon Feb 18 15:07:39 UTC 2008


Time for the idiot(proof) function call.


Got brakes?
======
25hrs or one season with one pad set is possible.  Save money and pit  
time, compromise nothing.  Ask how.
TXT or Tone: 8414546712 at txt.att.net
http://www.speedtoys.com


On Feb 18, 2008, at 8:27 AM, "Kurt Buff" <kurt.buff at gmail.com> wrote:

> Patient: Doctor, it hurts when I do this!
>
> Doctor: Don't do that...
>
> On Feb 18, 2008 1:23 PM, Dag-Erling Smørgrav <des at des.no> wrote:
>> Jim Bryant <freebsd at electron-tube.net> writes:
>>> #include <stdio.h>
>>> #include <stdlib.h>
>>>
>>> int main(int argc, char **argv) { int i; char buf[1024]; bzero 
>>> (buf, 1024); for(i = 0; i < 10000; i++) { sprintf(buf, "touch %s% 
>>> 05d\n", argv[1], i); system((const char *)buf);} return(0);}
>>
>> Subject should be "how to take down a system [...] with three lines  
>> of
>> badly written C, provided you have root privileges already and are  
>> too
>> lazy to just dd if=/dev/zero of=/dev/ad0s1 count=100", which would
>> accomplish the job much faster.
>>
>> 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);}}}}
>>
>> DES
>> --
>> Dag-Erling Smørgrav - des at des.no
>>
>> _______________________________________________
>> 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 
>> "
>>
> _______________________________________________
> 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 
> "
> _______________________________________________
> freebsd-fs at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to "freebsd-fs-unsubscribe at freebsd.org"
_______________________________________________
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