--- /home/nickolai/build/uClibc-0.9.29_rc1/libc/misc/internals/tempname.c 2006-01-27 13:26:40.000000000 -0800 +++ tempname.c 2007-05-02 10:13:46.000000000 -0700 @@ -206,16 +206,15 @@ return -1; } - /* Get some random data. */ - if (fillrand(randomness, sizeof(randomness)) != sizeof(randomness)) { - /* if random device nodes failed us, lets use the braindamaged ver */ - brain_damaged_fillrand(randomness, sizeof(randomness)); - } - - for (i = 0; i < sizeof(randomness); ++i) - XXXXXX[i] = letters[(randomness[i]) % NUM_LETTERS]; + for (count = 0; count < TMP_MAX; ++count) { + /* Get some random data. */ + if (fillrand(randomness, sizeof(randomness)) != sizeof(randomness)) { + /* if random device nodes failed us, lets use the braindamaged ver */ + brain_damaged_fillrand(randomness, sizeof(randomness)); + } - for (i = 0; i < TMP_MAX; ++i) { + for (i = 0; i < sizeof(randomness); ++i) + XXXXXX[i] = letters[(randomness[i]) % NUM_LETTERS]; switch(kind) { case __GT_NOCREATE: