Commit graph

507 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
d7c54161b2 Revise stdio implementation. 2014-10-19 17:13:49 +02: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
d6365e2da2 Add sysconf(_SC_GETPW_R_SIZE_MAX). 2014-09-25 18:20:00 +02:00
Jonas 'Sortie' Termansen
b4de9e4399 Add sysconf(_SC_GETGR_R_SIZE_MAX). 2014-09-25 18:20:00 +02:00
Jonas 'Sortie' Termansen
234f186a7d Ensure system call indices are valid expressions in libc syscall stubs. 2014-09-25 17:49:01 +02:00
Jonas 'Sortie' Termansen
01f6606b74 Fix FILE being a macro. 2014-09-25 17:49:01 +02:00
Jonas 'Sortie' Termansen
0b085cbcf1 Fix strerror_r(3) range error case. 2014-09-25 17:49:01 +02:00
Jonas 'Sortie' Termansen
0b1af77ca0 Fix return value of wcscat(3). 2014-09-25 17:49:01 +02:00
Jonas 'Sortie' Termansen
9291dae58f Fix wcschr(3) family like strchr(3) was fixed. 2014-09-25 17:49:01 +02:00
Jonas 'Sortie' Termansen
86cd065aa7 Fix wmemmove(3) off-by-one bounds error. 2014-09-25 17:47:05 +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
228bf52b49 Fix fdopen setting FD_CLOEXEC wrongly. 2014-09-25 17:27:54 +02:00
Jonas 'Sortie' Termansen
783c1092ff Fix readdir() setting errno on success. 2014-09-25 17:27:54 +02:00
Jonas 'Sortie' Termansen
ecccf4e1f7 Fix getdelim(2) leaking a freed pointer. 2014-09-25 17:27:53 +02:00
Jonas 'Sortie' Termansen
76577e69f1 Add execlpe(3). 2014-08-24 14:02:42 +02:00
Jonas 'Sortie' Termansen
771dc573ee Add attribute format to standard library headers. 2014-08-23 21:47:05 +02:00
Jonas 'Sortie' Termansen
a298cdde18 Update libc/string/memmove.cpp to current coding conventions. 2014-08-23 21:47:05 +02:00
Jonas 'Sortie' Termansen
998208d4d3 Update libc/string/memcmp.cpp to current coding conventions. 2014-08-23 21:47:05 +02:00
Jonas 'Sortie' Termansen
ebadcf2c02 Update libc/string/memset.cpp to current coding conventions. 2014-08-23 21:47:05 +02:00
Jonas 'Sortie' Termansen
fcf412e54c Fix mktime(3) and timegm(3) not sanitizing the broken down time.
Found by musl's libc-test.
2014-08-23 21:47:05 +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
88dd70991c Fix strchrnul(3) and strrchr(3) missing an unsigned char cast.
Found by musl's libc-test.
2014-08-23 21:47:04 +02:00
Jonas 'Sortie' Termansen
d880a9a797 Fix memchr(3) missing an unsigned char cast. 2014-08-23 21:46:20 +02:00
Jonas 'Sortie' Termansen
1a99dc5048 Fix <timespec.h> including <stdbool.h> in C++. 2014-08-23 21:30:16 +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
b0cbf9d0ea Fix strlcpy(3) and strlcat(3) being horribly broken.
Found by musl's libc-test.

This is just embarrassing.
2014-08-23 21:04:03 +02:00
Jonas 'Sortie' Termansen
395f7b29b4 Fix dregister not being thread safe. 2014-08-04 19:10:14 +02:00
Jonas 'Sortie' Termansen
fdc41cac76 Fix wrong return type of init_stdio(). 2014-08-04 19:04:16 +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
f1f272390b Add ESIGPENDING. 2014-07-20 15:09:16 +02:00
Jonas 'Sortie' Termansen
28d3b1245f Fix terminology in exec family. 2014-07-20 15:09:16 +02:00
Jonas 'Sortie' Termansen
ff443c9f5e Thread-secure dregister(3) and dunregister(3). 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
a1ccba00f7 Thread-secure rand(3). 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
3361620d83 Thread-secure setlocale(3). 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
c4e6888fd9 Thread-secure psignal(3). 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
48edf99373 Thread-secure error(3). 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
1ddd404ff9 Thread-secure stdio. 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
0618b8a68f Thread secure errno(3). 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
f69b6c845c Add pthread_sigmask(3). 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
c8a3a858b0 Add libpthread. 2014-07-08 17:41:50 +02:00
Jonas 'Sortie' Termansen
b607900a00 Fix <dirent.h> not being C89 friendly. 2014-07-07 17:52:33 +02:00