That is exactly how that shell attack works.

At one point, however, I think that the number of dynamically allocated task objects should run out, and the program should just wind about in an infinite loop of erroneous calls to fork(). What a shame. I'm happy the OS I'm writing does so. It isn't a UNIX-like one, but the semantics are similar.

On Feb 13, 2008, at 6:59 PM, [EMAIL PROTECTED] wrote:

In most /bin/sh variants (I'm not sure about original):

        :(){:|:};:

Quick denial of service.


This just in: Repeated forks can bring down a system.
Story at 11.

#include <u.h>
#include <libc.h>

int main() {
        for (;;)
                fork();
}

Look ma!

John


Reply via email to