On Mon, Apr 14, 2014 at 12:20 PM, Bernhard Reutner-Fischer
<[email protected]> wrote:
>> This is a change in behavior - now we would
>> actually create, and then immediately delete the directory
>> if run as "mktemp -du".
>>
>> I have mixed feelings about that.
>> Do you think it's ok?
>
> I think it's ok, yes. The race-window is about the same as
> before, the creat()/unlink() do make it a bit slower but that
> is IMO ok.

There was no race at all before for "mktemp -n" case:

        if (opts & OPT_u) {
                chp = mktemp(chp);
                if (chp[0] == '\0')
                        goto error;
        } else ...
        puts(chp);
        return EXIT_SUCCESS;

No race here.
Your patch would add one.

> An alternative would be to export a uClibc-specific
> __gen_tempname() function to avoid all those duplicate implementations
> (in busybox, coreutils etc, etc) but i don't really think it's worth the 
> effort
> given that only mktemp(1) has something like it's -u and -u
> obviously should not be used in the first place (due to races).

We need to support compatibility anyway. So...

> An alternative would be to export a uClibc-specific
> __gen_tempname() function

How about exporting a function named mktemp()?
 ;)
POSIX removing it from its text doesn't mean that
a conforming libc must *not* provide it.

-- 
vda
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to