Re: cvs commit: src/usr.bin/make job.c

看板FB_security作者時間20年前 (2005/05/19 20:35), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/6 (看更多)
On 2005-05-18 01:41, Max Okumoto <okumoto@ucsd.edu> wrote: > Your idea of using mkdtemp() can be fixed by putting a loop > around the code. Each time around the loop would be expensive > but we wouldn't be doing that to often anyway. > > loop: > mkdtemp(template) > mkfifo(tempalte + "/fifo") > if error remove temp directory, restore template and loop. > > Or better yet, if someone could create an equiv function in libc > so I don't have to maintain it in make(1) :-) Do any other > programs need the ability to make a temp fifo? > > Personally, I don't think it is a risk, but I wanted other > peoples opinions, before I tried to fix a non-issue. :-) Does this really need to be of the form DIR/fifo ? I haven't looked at the code that uses the fifo at all, so I risk being extremely out of topic here, but why wouldn't a temporary fifo created with a name obtained from mkstemp() work too? A directory won't be needed if the fifo name is created by mkstemp() and then passed directly to mkfifo(2). Then there is still a (small?) possibility for a race, but a subsequent invocation of mkstemp() is almost guaranteed to work, unless mkstemp() is severely broken. _______________________________________________ freebsd-security@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-security To unsubscribe, send any mail to "freebsd-security-unsubscribe@freebsd.org"
文章代碼(AID): #12Z8WP00 (FB_security)
文章代碼(AID): #12Z8WP00 (FB_security)