3 ms·
It's already gaining adoption outside of the BSDs. OS X/iOS seem to have it as part of their libmalloc. Android Bionic libc has it as part of the code they sync
by brynet 10y ago
It's already gaining adoption outside of the BSDs. OS X/iOS seem to have it as part of their libmalloc. Android Bionic libc has it as part of the code they sync from upstream OpenBSD.
Many open source projects include their own, or simply bundle the OpenBSD implementation:
* mandoc
* flex
* unbound and nsd
* tor
* tmux
* libbsd
* libressl
* xorg-xserver
* ...
The list only continues to grow, several more examples to be found on GitHub.
- klodolph 10y agoDarwin (macOS / iOS) is often counted as "one of the BSDs", just a fairly weird one. Big chunks of the standard library are copied from FreeBSD with changes to work on top of Mach.
- achivetta 10y agoThere's code for it in Darwin's libmalloc, but it's not exposed as API. reallocarray() has some difficulties as an interface, mostly inherited from realloc(). I'm a bigger fan of reallocarr(), but that's NetBSD only. We (the operating systems community) need to find a consensus here, but I'm not convinced that reallocarray() is that consensus yet.
- ben_bai 10y agoreallocarray is a very thin layer around realloc. No surprises there. Simple find and replace to bring overflow checking into your code. reallocarr changes the semantics. Equally easy in new pieces of code and a little harder when converting existing code.
- deleted 10y ago[deleted]