History log of /openbsd/include/stdlib.h (Results 1 – 25 of 77)
Revision Date Author Comments
# 1aa88f2b 01-Mar-2024 millert <millert@openbsd.org>

Add mkdtemps(3), like mkdtemp(3) but with a suffix.
OK deraadt@ tb@


# e03a3151 10-May-2019 otto <otto@openbsd.org>

Inroduce malloc_conceal() and calloc_conceal(). Similar to their
counterparts but return memory in pages marked MAP_CONCEAL and on
free() freezero() is actually called.


# acb3f83f 21-Nov-2018 otto <otto@openbsd.org>

Introducing malloc_usable_size() was a mistake. While some other
libs have it, it is a function that is considered harmful, so:

Delete malloc_usable_size(). It is a function that blurs the line
betw

Introducing malloc_usable_size() was a mistake. While some other
libs have it, it is a function that is considered harmful, so:

Delete malloc_usable_size(). It is a function that blurs the line
between malloc managed memory and application managed memory and
exposes some of the internal workings of malloc. If an application
relies on that, it is likely to break using another implementation
of malloc. If you want usable size x, just allocate x bytes. ok
deraadt@ and other devs

show more ...


# f5c5425b 18-Nov-2018 otto <otto@openbsd.org>

Implement malloc_usable_size(); ok millert@ deraadt@ and jmc@ for the man page


# 7a9442eb 05-Nov-2018 otto <otto@openbsd.org>

Implement C11's aligned_alloc(3). ok guenther@


# 3a628b46 05-Sep-2017 schwarze <schwarze@openbsd.org>

New POSIX xlocale implementation written from scratch.
Complete in the sense that all POSIX *locale(3) and *_l(3) functions
are included, but in OpenBSD, we of course only really care about
LC_CTYPE

New POSIX xlocale implementation written from scratch.
Complete in the sense that all POSIX *locale(3) and *_l(3) functions
are included, but in OpenBSD, we of course only really care about
LC_CTYPE and we only support ASCII and UTF-8.

With important help from kettenis@, guenther@, and jca@.
Repeated testing in ports bulk builds by naddy@.
Additional testing by jca@, sebastia@, dcoppa@, and others.
OK kettenis@ dcoppa@, and guenther@ on an earlier version.
Riding guenther@'s libc/librthread major bump.

show more ...


# c1664c68 11-May-2017 tom <tom@openbsd.org>

arc4random_buf should be bounded buffer, not bounded string

ok millert@


# 6a20801c 10-May-2017 millert <millert@openbsd.org>

Add bounded attribute to freezero(). OK tom@


# c0e0c2a5 10-Apr-2017 otto <otto@openbsd.org>

Introducing freezero(3) a version of free that guarantees the process
no longer has access to the content of a memmory object. It does
this by either clearing (if the object memory remains cached) or

Introducing freezero(3) a version of free that guarantees the process
no longer has access to the content of a memmory object. It does
this by either clearing (if the object memory remains cached) or
by calling munmap(2). ok millert@, deraadt@, guenther@

show more ...


# 14537fff 06-Mar-2017 otto <otto@openbsd.org>

Introducing recallocarray(3), a blend of calloc(3) and reallocarray(3)
with the added feature that released memory is cleared. Much input from various
developers. ok deraadt@ tom@


# 7742623a 20-Sep-2016 fcambus <fcambus@openbsd.org>

Remove duplicated includes in stdlib.h and termios.h

OK guenther@


# 6ecde746 09-Sep-2016 millert <millert@openbsd.org>

Move the 10 (!) defintions of NULL to their own mini header file and
update the NULL definition for C++11. OK deraadt@ guenther@ kettenis@


# 8fb4bdfc 14-Jul-2015 millert <millert@openbsd.org>

The first argument to devname(3) should be dev_t, not int.
The man page was already correct.


# e58af031 08-Feb-2015 tedu <tedu@openbsd.org>

add restrict to strtol like functions. ok guenther


# af4f502b 15-Jan-2015 tedu <tedu@openbsd.org>

we don't have an alloca() symbol anywhere in libc, don't prototype it.
instead, #define to __builtin_alloca. if that doesn't work, you're hosed.
from an old discussion about the perils of alloca. (do

we don't have an alloca() symbol anywhere in libc, don't prototype it.
instead, #define to __builtin_alloca. if that doesn't work, you're hosed.
from an old discussion about the perils of alloca. (don't use alloca!)

show more ...


# f7510a6e 08-Dec-2014 deraadt <deraadt@openbsd.org>

Change rand(), random(), drand48(), lrand48(), mrand48(), and srand48()
to returning strong random by default, source from arc4random(3).
Parameters to the seeding functions are ignored, and the subs

Change rand(), random(), drand48(), lrand48(), mrand48(), and srand48()
to returning strong random by default, source from arc4random(3).
Parameters to the seeding functions are ignored, and the subsystems remain
in strong random mode. If you wish the standardized deterministic mode,
call srand_deterministic(), srandom_determistic(), srand48_deterministic(),
seed48_deterministic() or lcong48_deterministic() instead.
The re-entrant functions rand_r(), erand48(), nrand48(), jrand48() are
unaffected by this change and remain in deterministic mode (for now).

Verified as a good roadmap forward by auditing 8800 pieces of software.
Roughly 60 pieces of software will need adaptation to request the
deterministic mode.

Violates POSIX and C89, which violate best practice in this century.
ok guenther tedu millert

show more ...


# 80dc78aa 08-Dec-2014 tedu <tedu@openbsd.org>

header changes for recent libc changes:
add siphash
delete setkey, encrypt, cfree


# ed42a740 31-Aug-2014 guenther <guenther@openbsd.org>

Add additional userland interfaces for setting close-on-exec on fds
when creating them: mkostemp(), mkostemps(), the 'e' mode letter for
fopen(), freopen(), fdopen(), and popen(). The close-on-exec

Add additional userland interfaces for setting close-on-exec on fds
when creating them: mkostemp(), mkostemps(), the 'e' mode letter for
fopen(), freopen(), fdopen(), and popen(). The close-on-exec flag will
be cleared by the action created by posix_spawn_file_actions_adddup2().

Also, add support for the C11 'x' mode letter for fopen() and freopen(),
setting O_EXCL when possibly creating files.

Note: this requires kernel support for pipe2() and dup3()!

ok millert@

show more ...


# e5388d05 09-Jul-2014 beck <beck@openbsd.org>

Clean up after arc4random u_int32_t uint32_t change
ok jsing@


# 7e25e286 22-Apr-2014 tedu <tedu@openbsd.org>

change mallocarray to reallocarray. useful in a few more situations.
malloc can, as always, be emulated via realloc(NULL).
ok deraadt


# e1603b91 21-Apr-2014 deraadt <deraadt@openbsd.org>

Introducing: void *mallocarray(size_t nmemb, size_t size);
Like calloc(), except without the cleared-memory gaurantee
ok beck guenther, discussed for more than a year...


# 0ad647d6 28-Dec-2013 martynas <martynas@openbsd.org>

Annotate a few more bounded functions: realpath(3) needs a buffer
of size at least PATH_MAX. pread(2), pwrite(2) and readlinkat(2)
also take the buffer and the bound. OK theo.


# 9a476230 13-Dec-2013 millert <millert@openbsd.org>

Fix typo; 200809 not 20080 for __POSIX_VISIBLE. Noticed by jca@


# 6290d6db 22-Nov-2013 millert <millert@openbsd.org>

The getopt() prototype and externs don't belong in stdlib.h. Berkeley
moved them to unistd.h to match POSIX in 1995 but we never did.
The exception to this is getsubopt() which POSIX says should be

The getopt() prototype and externs don't belong in stdlib.h. Berkeley
moved them to unistd.h to match POSIX in 1995 but we never did.
The exception to this is getsubopt() which POSIX says should be in
stdlib.h. The non-standard suboptarg extern remains in the BSD-only
section of stdlib.h. Neither getsubopt() nor suboptarg belong in
unistd.h or getopt.h. They were only there to allow us to protect
all the getopt() bits from being multiply defined. OK guenther@

show more ...


# e1968c99 21-Oct-2013 deraadt <deraadt@openbsd.org>

Remove arc4random_stir() and arc4random_addrandom(), which none should
be using directly. Well, a few rare people cloned it upstream and it
will take a bit of time for them to learn.
ok various


1234