summaryrefslogtreecommitdiff
path: root/src/lib/libc (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Use size_t in appropriate places; fixes sorting of big arrays;otto2010-02-081-9/+10
| | | | | after the diff was written, I made it similar to the freebsd fix of the same code; pr6287 ok millert@ guenther@
* use size_t to index arrays; avoids big array bugs; ok millert@ guenther@otto2010-02-081-1/+1
|
* Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependentmiod2010-02-034-17/+17
| | | | | | | files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@
* stucture -> structure;jmc2010-01-251-3/+3
|
* New options 'S', as a shorthand for the options most suitable as anotto2010-01-132-3/+9
| | | | extra safeguard (FGJ). Idea from deraadt@; ok deraadt@ dlg@
* replace a few remaining UNIX terms with .Ux macros; this diffsobrado2009-12-291-4/+4
| | | | completes the changes from Oct 22.
* save calls to arc4random() by using a nibble at a time; not becauseotto2009-12-161-24/+27
| | | | | arc4random() is slow, but it induces getpid() calls; also saves a bit on stirring efforts
* No point in refreshing the pid from inside arc4_stir() when thatguenther2009-12-151-6/+15
| | | | | | | | | doesn't test it, so factor out the two places that test it into a routine and do the refreshing there. With this, arch4random_buf() doesn't trigger superfluous calls to getpid() when filling large buffers. ok deraadt@, "looks nicer indeed" otto@
* Make userland malloc use __LDPGSZ granularity on mips, regardless of themiod2009-12-071-1/+3
| | | | actual kernel page size.
* missing word;jmc2009-12-051-3/+3
| | | | from trhodes@freebsd, r200095;
* Switch the chunk_info lists to doubly-linked lists and use the queueotto2009-11-271-51/+34
| | | | | | macros for them. Avoids walking the lists and greatly enhances speed of freeing chunks in reverse or random order at the cost of a little space. Suggested by Fabien Romano and Jonathan Armani; ok djm@
* Don't forget to fill region from the cache with junk if needed in one case;otto2009-11-271-1/+3
| | | | from Fabien Romano and Jonathan Armani
* No need to clear a mmapped region; from Fabien Romano and Jonathanotto2009-11-271-2/+1
| | | | Armani
* More shrinkage, a bit for ramdisks but mostly for static binaries:guenther2009-11-185-392/+445
| | | | | | | | | | | | | | | | | - wrap with #ifndef NO_LOG_BAD_DNS_RESPONSES libc code that uses p_class() and p_type() for diagnostics, then add that define to libstub to avoid pulling in res_debug_syms.o - split rcmd() and ruserok() into separate files, as nothing uses both - split readdir_r() to its own file - split syslog_r() from syslog(), as the latter needs localtime(); many binaries no longer need to pull in all the time code after this; switch from usleep() to nanosleep() while we're at it (The profit of analysis of -Wl,-M,--cref output) Chops 888kB from /bin and /sbin on i386 ok deraadt@, miod@
* permit -DMALLOC_STATS to compile againtodd2009-11-021-2/+2
| | | | | noticed by Jonathan Armani & Fabien Romano ugh+ok otto@
* s/Mhz/MHz/, MHz is a multiple of the SI unit hertz (whose symbol is Hz).sobrado2009-10-311-2/+2
|
* rcsid[] and sccsid[] and copyright[] are essentially unmaintained (andderaadt2009-10-271-5/+1
| | | | | | | unmaintainable). these days, people use source. these id's do not provide any benefit, and do hurt the small install media (the 33,000 line diff is essentially mechanical) ok with the idea millert, ok dms
* Check mmap return value against MAP_FAILED not NULL.pirofti2009-10-201-2/+2
| | | | Okay deraadt@, otto@.
* teach gdtoa & its subroutines that malloc can fail; in which casemartynas2009-10-162-2/+6
| | | | | | ecvt, fcvt, gcvt, *printf, strtof, strtod, strtold act per ieee 1003.1. after these massive changes, remove unused files which would not work now. reported by Maksymilian Arciemowicz; ok theo
* rewrite the history section, prompted by Paul Stoeber; ok deraadt@ jmc@otto2009-10-101-25/+28
|
* make getaddrinfo(3) accept numeric servname when ai_socktype is notfgsch2009-09-021-4/+2
| | | | | specified in hint or hints is NULL. claudio@ ok
* various MLINK fixes from Alan R. S. Bueno;jmc2009-08-131-3/+3
|
* promote correct style for error checkingeric2009-07-091-7/+7
| | | | ok tedu@ deraadt@ krw@
* abs conforms c99 -> imaxabs conforms c99. ok millert@martynas2009-06-211-3/+3
|
* quieten compiler by converting pointers to uintptr_t before truncating themderaadt2009-06-081-5/+5
| | | | | to u_int32_t to do integer math with (in a situation where that is legit) ok otto millert
* compare and shift buffer against a fixed length not strlen derived values.pyr2009-06-051-6/+6
| | | | ok otto@
* simplify the 'family' option parser and make it more evident what we'repyr2009-06-042-25/+18
| | | | | | now doing. ok deraadt@
* Don't assume that we can overwrite strings in the environment.millert2009-06-041-1/+3
| | | | | Someone may have passed a read-only string to putenv() (I'm looking at you cron!).
* Add a resolv.conf option to specify the order in which getaddrinfopyr2009-06-042-8/+63
| | | | | | | | | | | PF_UNSPEC queries are made. While there change the default from inet6 first then inet4 to inet4 first then inet6, this prevents the many people with IPv4 only connectivity from constantly trying to contact IPv6 addresses, and also unbreaks many ports who don't use getaddrinfo right. ok deraadt@, plenty of cheering in the room wrt the idea, not loud enough complaining from the v6 crowd.
* Make putenv(), setenv() and unsetenv() standards compliant. Themillert2009-06-035-86/+117
| | | | | | standard explicitly disallows passing setenv a name with a '=' in it but historic BSD behavior is to allow this but to ignore the '=' and anything after it.
* - define EAI_OVERFLOW, as per IEEE Std 1003.1-2001(Interpretation #13)jasper2009-06-022-3/+7
| | | | hint from claudio@, ok millert@
* Document AI_NUMERICSERV; feedback and ok millert@jacekm2009-05-061-2/+9
|
* document that no leading whitespace is permitted between the option andokan2009-04-121-3/+5
| | | | | | argument if the argument is deemed to be optional ('::'). feedback and ok jmc@ and millert@
* correct argument type for swap64(); from Thomas Pfaffjmc2009-03-171-3/+3
|
* kill whitespace at eol;jmc2009-02-131-2/+2
|
* decribe 'F' better and mention flags are debugging aids; ok tedu@ jmc@otto2009-02-131-8/+10
|
* correct function definitions; from Markus Bergkvistjmc2009-02-101-4/+4
|
* reintroduce extra malloc protections, but avoiding the use ofdjm2009-01-031-164/+229
| | | | | | PAGE_(SIZE|SHIFT|MASK) defines that evaluate to variables on the sparc architecture; ok otto@ tested on my reanimated ss20
* PAGE_SIZE is not a valid symbol to use in that way. In particular,deraadt2008-12-311-235/+164
| | | | | | | on sparc, it expands to something that just plain does not work, because the page size can be variable. Sorry we didn't spot this before. Backing it all out to allow sparc to build; please find a different way to fix it.
* Remove mprotecting of struct dir_info introduced in previous commitdjm2008-12-302-46/+4
| | | | | | | (MALLOC_OPTIONS=L). It was too slow to turn on by default, and we don't do optional security. requested by deraadt@ grumbling ok otto@
* extra paranoia for malloc(3):djm2008-12-292-165/+278
| | | | | | | | | | | | | | | | Move all runtime options into a structure that is made read-only (via mprotect) after initialisation to protect against attacks that overwrite options to turn off malloc protections (e.g. use-after-free) Allocate the main bookkeeping data (struct dir_info) using mmap(), thereby giving it an unpredictable address. Place a PROT_NONE guard page on either side to further frustrate attacks on it. Add a new 'L' option that maps struct dir_info PROT_NONE except when in the allocator code itself. Makes attacks on it basically impossible. feedback tedu deraadt otto canacar ok otto
* repair the ARC4 story; ok jmc djm millertderaadt2008-12-231-5/+7
|
* The example for detecting malicious PTR records could be easily misinterpreted.jacekm2008-12-221-5/+4
| | | | Make it less ambiguous; ok gilles@ claudio@
* shave off more bytes than you expect by declaring a few const local arraysotto2008-12-151-4/+4
| | | | as static const
* fix inet_ntop(3) prototype; ok millert@ libc to be bumbed very soonotto2008-12-092-7/+7
|
* Document that ethers_aton returns NULL for invalid addresses.weerd2008-12-071-2/+4
| | | | Suggested by and ok claudio@, ok jmc@
* Fix typo, okay jmc@.pedro2008-11-261-3/+3
|
* Correctly jump over routing headers and calculate the size of the if_dataclaudio2008-11-241-7/+14
| | | | | | struct in the if_msghdr instead of using sizeof() blindly. This allows us to grow if_data without causing issues for the getifaddrs() users. OK deraadt@ (who needs this for some cool upcomming stuff)
* move allocations between half a page and a page as close to the end ofotto2008-11-202-4/+5
| | | | | the page as possible (i.e. make malloc option P a default). ok art@ millert@ krw@
* Reduce the leeway malloc allows when moving allocations to the end ofotto2008-11-201-2/+2
| | | | | a page to 0. P default will be changed in a separate commit. ok millert@ art@ krw@