Commit graph

59 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
8a653584c4 Fix strtol multiplication overflow check. 2015-10-11 23:25:21 +02:00
Jonas 'Sortie' Termansen
59e7dd00c5 Add mkdtemps(3). 2015-08-26 16:49:18 +02:00
Jonas 'Sortie' Termansen
6405e2ea6e Add arc4random support to the kernel. 2015-08-22 01:04:58 +02:00
Jonas 'Sortie' Termansen
13e8e092a6 Fix mkostemps and mkdtemp not restoring X's on error. 2015-06-27 17:06:43 +02:00
Jonas 'Sortie' Termansen
8c0252300e Fix strtol isspace calls. 2015-05-15 16:18:41 +02:00
Jonas 'Sortie' Termansen
25482f875e Remove mktemp(3). 2015-04-13 00:00:29 +02:00
Jonas 'Sortie' Termansen
60f85af7c4 Fix strtol multiplication overflow check. 2015-02-11 17:35:28 +01:00
Jonas 'Sortie' Termansen
8cd4c1f5a0 Add mkdtemp(3). 2015-02-09 18:56:14 +01:00
Jonas 'Sortie' Termansen
f0e3e2cfef Add mkostemps(3) family. 2015-02-09 18:56:14 +01:00
Jonas 'Sortie' Termansen
261b95e0a6 Add reallocarray(3). 2014-12-03 23:55:55 +01:00
Jonas 'Sortie' Termansen
74247eb71e Rewrite malloc(3). 2014-12-03 21:32:50 +01:00
Jonas 'Sortie' Termansen
fb8221a381 Improve mkstemp(3) random path generation. 2014-12-01 23:22:11 +01:00
Jonas 'Sortie' Termansen
35708fa900 Retire calltrace support in favor of the kernel debugger. 2014-12-01 21:38:06 +01:00
Jonas 'Sortie' Termansen
c24b5ee5a4 Lazily close files in exit(3). 2014-12-01 18:54:41 +01:00
Jonas 'Sortie' Termansen
a25f1a931e Initialize stdin, stdout and stderr at compile time. 2014-12-01 18:45:11 +01:00
Jonas 'Sortie' Termansen
9fec909970 Indirectly closedir(3) from exit(3). 2014-12-01 18:45:10 +01:00
Jonas 'Sortie' Termansen
5e60007904 Remove dcloseall() and fcloseall(). 2014-12-01 16:29:43 +01:00
Jonas 'Sortie' Termansen
edb19f2394 Add arc4random(3). 2014-11-28 13:35:51 +01:00
Jonas 'Sortie' Termansen
a1e9c15bca Add wcstof(3), wcstod(3) and wcstold(3). 2014-11-26 22:49:00 +01:00
Jonas 'Sortie' Termansen
749d123331 Maintain counts of physical frames used for particular purposes. 2014-11-26 22:27:04 +01:00
Jonas 'Sortie' Termansen
5f2106f512 Maintain size of allocated memory in the heap. 2014-11-26 22:25:37 +01:00
Jonas 'Sortie' Termansen
f41964fcab Reimplement wchar conversion API. 2014-11-24 17:41:26 +01:00
Jonas 'Sortie' Termansen
5dbd89d2aa Delay heap initialization until first heap expansion. 2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen
f3eb87c3ee Improve qsort_r(3) run-time complexity using quicksort. 2014-09-25 18:20:00 +02:00
Jonas 'Sortie' Termansen
a9cf3cc684 Add qsort_r(3). 2014-09-25 18:20:00 +02:00
Jonas 'Sortie' Termansen
94a7433cf0 Fix atoi(3) out-of-range cases. 2014-09-25 17:27:54 +02:00
Jonas 'Sortie' Termansen
87fee95949 Fix setenv(3) error case. 2014-09-25 17:27:54 +02:00
Jonas 'Sortie' Termansen
513c5f242d Fix strtol(3) quality. 2014-09-25 17:27:54 +02:00
Jonas 'Sortie' Termansen
b75678bcab Fix mkstemp(3) creating files with an insecure mode. 2014-08-23 21:47:04 +02:00
Jonas 'Sortie' Termansen
74fbbb3c78 Fix mkstemp(3) not rejecting bad templates.
Found by musl's libc-test.
2014-08-23 21:47:04 +02:00
Jonas 'Sortie' Termansen
40fd0fa3dc Fix the environment functions not rejecting the empty name.
Found by musl's libc-test.
2014-08-23 21:47:04 +02:00
Jonas 'Sortie' Termansen
0adfceef87 Fix strtol("0xz", &s, 16) handling.
Found by musl's libc-test.
2014-08-23 21:47:04 +02:00
Jonas 'Sortie' Termansen
a8b8514272 Fix clearenv(3) leaving internal pointer alive after free.
This causes use-after-free and double-free bugs when other environment
functions are subsequently called.
2014-08-23 21:04:39 +02:00
Jonas 'Sortie' Termansen
5f9da2a651 Fix format string problems in error(3) calls. 2014-08-23 21:04:39 +02:00
Jonas 'Sortie' Termansen
30cd318c17 Implement signals.
Note: This is an incompatible ABI change.
2014-07-22 13:25:39 +02:00
Jonas 'Sortie' Termansen
a1ccba00f7 Thread-secure rand(3). 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
e1db06c1c9 Thread-secure exit(3). 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
a96aca09c1 Thread-secure user-space heap. 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
534eb3ddd8 Fix libk being built with -mmmx, -msse and -msse2 on x86_64. 2014-05-28 17:42:19 +02:00
Jonas 'Sortie' Termansen
73cea916d9 Fix suboptimal heap chunk spliting. 2014-05-16 14:48:27 +02:00
Jonas 'Sortie' Termansen
01b8acbc90 Fix calloc not erroring on multiplication overflow. 2014-04-24 00:03:51 +02:00
Jonas 'Sortie' Termansen
2161a0e0e3 Fix canonicalize_file_name_at(3) not handling file paths correctly. 2014-03-31 19:08:57 +02:00
Jonas 'Sortie' Termansen
e91cde379a Rewrite getenv(3), setenv(3), unsetenv(3) and clearenv(3). 2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen
1b3f4b36d8 Fix strtol(3) handling negative numbers incorrectly. 2014-03-17 17:00:00 +01:00
Jonas 'Sortie' Termansen
df666103b3 Update libc/stdlib/rand.cpp to current coding conventions. 2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
bfc8570bb8 Fix libc function implementations without extern "C" linkage. 2014-01-18 16:30:56 +01:00
Jonas 'Sortie' Termansen
a4220d5b5f Fix incorrect usage of __is_sortix_foo macros in preprocessor conditionals.
These macros might not be defined, in which case this usage would have
generated warnings had they not been in system headers.
2014-01-18 16:30:55 +01:00
Jonas 'Sortie' Termansen
2302350d78 Remove <sortix/kernel/platform.h>. 2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
9d4bc2a15f Grow kernel heap upwards.
Previously the kernel heap grew downwards for historical reasons. There is no
reason for this and it simplifies the heap implementation if it only grows
upwards. This also rearranges how the kernel virtual memory is allocated to
suit an upwards-growing heap.
2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
b9e463965b Split libc/stdlib/on_exit.cpp into multiple files. 2013-12-17 14:30:45 +01:00