Date: Sun, 02 Feb 2003 16:59:27 -0800 From: Terry Lambert <tlambert2@mindspring.com> To: Don <don@calis.blacksun.org> Cc: current@FreeBSD.ORG Subject: Re: rand() is broken Message-ID: <3E3DBEEF.BE487BD6@mindspring.com> References: <200302021848.NAA19508@agamemnon.cnchost.com> <200302030007.01718.ejb@lythe.org.uk> <20030202190827.K2458@calis.blacksun.org> <200302030026.33781.ejb@lythe.org.uk> <20030202193215.E2519@calis.blacksun.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Don wrote: > > > It isn't a question of the API. It's a question of expected function > > > output. > > > > Then it's applicable not only to binary packages as Terry states, but any > > source that uses rand(). > > I think Terry mentioned binary packages simply because it is harder to fix > them than something available as source but I could be mistaken. I mentioned them because they are impossible to fix without hacking the system libc.so, whereas with source, you can recompile the code and override the libc version with your own. LD_PRELOAD could be used, if the interface is unchanged, and the saved state area is not managed promiscuously anywhere. The main problem is new code that depends on new behaviour conflicting with old code that depends on old behaviour. A number of the ASIC packages Bakul *may* be using come precompiled from the vendor, without source code (and yes, they have FreeBSD versions available, when you are slinging that kind of money around). > > I would say that depending on the internal algorithm used by rand() (or > > random()) is a bad idea; however, I don't know what the relevant standards > > say about this, so I won't say any further. > > > > (Why is it a bad idea? Because I'm not going to write software which makes > > this assumption; I'm sure that even if at some point in time all systems use > > an identical algorithm, at some point my software will have to run on a > > system which uses something different. So if I really need it, I will take > > rand() from libc and place it in my own code.) > > If only all developers were as good as you we would not have a problem. Heh. If they were, this would not be an issue in the first place, because they would not be using the system random number generators from libc, and so they would see no reason to fix them. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E3DBEEF.BE487BD6>