Commit Graph

2455 Commits

Author SHA1 Message Date
Josh Megnauth 6ec03b6f4a fix: round_up_to_page_size overflow
Closes: #200

The spec doesn't define which error code to set if `len` is too large.
`ENOMEM` is the closest defined condition that fits:

>> [...] the range [addr,addr+len) exceeds that allowed for the address
space of a process [...]

Logically, `len` would lead to `addr` exceeding the address space of a
process if rounding it up to the next page size causes an overflow.
2024-11-26 00:37:12 -05:00
Jeremy Soller a64a6a4cd0 Merge branch 'fix-failing-features-test' into 'master'
Temporarily disable `noreturn` attribute test

See merge request redox-os/relibc!568
2024-11-24 13:55:06 +00:00
Josh Megnauth daa77e7149 Temporarily disable noreturn attribute test 2024-11-24 13:55:05 +00:00
Jeremy Soller 3c79fd759a Merge branch 'exit-return-never' into 'master'
Exit should return never (`!`)

See merge request redox-os/relibc!567
2024-11-23 19:55:38 +00:00
Jeremy Soller b95bd0dfa6 Merge branch 'fix-socket-set-edom-timeout-overflow' into 'master'
fix: Multiplication overflow in setsockopt

Closes #201

See merge request redox-os/relibc!566
2024-11-23 19:53:33 +00:00
Josh Megnauth a709dd47bf fix: Multiplication overflow in setsockopt 2024-11-23 19:53:33 +00:00
Josh Megnauth 90f934c769 Exit should return never (!)
`_Exit`, `exit`, and related functions should return `!` because they
don't return. This also signals to cbindgen that it should emit
`[[noreturn]]` for those functions.
2024-11-23 03:33:00 -05:00
Jeremy Soller a430a7861d Merge branch 'pwd-docs' into 'master'
Add docs for pwd.h

See merge request redox-os/relibc!563
2024-11-21 15:07:30 +00:00
Peter Limkilde Svendsen 864f4306ce Add docs for pwd.h 2024-11-21 15:07:30 +00:00
Jeremy Soller 7a729571ec Merge branch 'sys-auxv-docs' into 'master'
Add docs for sys/auxv.h

See merge request redox-os/relibc!564
2024-11-21 15:07:25 +00:00
Jeremy Soller 8381218ab1 Merge branch 'sys-file-docs' into 'master'
Add docs for sys/file.h

See merge request redox-os/relibc!565
2024-11-21 15:07:21 +00:00
Peter Limkilde Svendsen 5591eeacb3 Add docs for sys/file.h 2024-11-20 23:21:48 +01:00
Peter Limkilde Svendsen 399b0ad81f Add docs for sys/auxv.h 2024-11-20 23:17:10 +01:00
Jeremy Soller e528eae801 Merge branch 'string-docs' into 'master'
Add docs for string.h, add missing functions

See merge request redox-os/relibc!562
2024-11-19 00:20:40 +00:00
Peter Limkilde Svendsen 2a7d01f02d Add docs for string.h, add missing functions 2024-11-19 00:20:40 +00:00
Jeremy Soller 46c2d36193 Merge branch 'fix-dns-extra-output' into 'master'
fix(netdb): Buffer overrun when parsing DNS

See merge request redox-os/relibc!559
2024-11-18 13:43:23 +00:00
Josh Megnauth fc1e220a99 fix(netdb): Buffer overrun when parsing DNS 2024-11-18 13:43:22 +00:00
Jeremy Soller 32fca670ea Merge branch 'memmem-cast-mut' into 'master'
Use only one .cast_mut() in memmem()

See merge request redox-os/relibc!561
2024-11-17 20:09:46 +00:00
Peter Limkilde Svendsen 864d5e4795 Use only one .cast_mut() in memmem() 2024-11-17 20:19:52 +01:00
Jeremy Soller 2c73cc947c Merge branch 'memmem' into 'master'
Implement memmem()

See merge request redox-os/relibc!560
2024-11-17 16:18:15 +00:00
Peter Limkilde Svendsen 6a765ed88f Implement memmem() 2024-11-17 16:18:14 +00:00
Jeremy Soller ce7b85b0df Merge branch 'dont-overallocate-cstrings' into 'master'
Avoid over allocations & reallocations

See merge request redox-os/relibc!558
2024-11-17 16:17:22 +00:00
Jeremy Soller 88987eb000 Merge branch 'pty-utmp-docs' into 'master'
Add docs for pty.h and utmp.h

See merge request redox-os/relibc!557
2024-11-17 16:17:04 +00:00
Jeremy Soller 09bcfd0711 Merge branch 'errno-const-macros' into 'master'
Test errno constant macros, make ENOTSUP available in Rust

See merge request redox-os/relibc!556
2024-11-17 16:16:47 +00:00
Peter Limkilde Svendsen 42011f28d8 Test errno constant macros, make ENOTSUP available in Rust 2024-11-17 16:16:47 +00:00
Jeremy Soller caac784caa Merge branch 'iso646' into 'master'
Add iso646.h and corresponding tests

See merge request redox-os/relibc!555
2024-11-17 16:16:11 +00:00
Jeremy Soller 7b2e315c17 Merge branch 'cbindgen-use-attributes' into 'master'
Emit C attributes via cbindgen

See merge request redox-os/relibc!548
2024-11-17 16:15:07 +00:00
Josh Megnauth 5348273ccc Emit C attributes via cbindgen 2024-11-17 16:15:07 +00:00
Jeremy Soller dbe5c85411 Merge branch 'inttypes-docs' into 'master'
Add docs for inttypes.h

See merge request redox-os/relibc!554
2024-11-17 16:13:32 +00:00
Jeremy Soller 693769da1e Merge branch 'sys-random-docs' into 'master'
Add docs for sys/random.h

See merge request redox-os/relibc!553
2024-11-17 16:13:17 +00:00
Jeremy Soller 093d11c451 Merge branch 'elf-docs' into 'master'
Add basic docs for elf.h

See merge request redox-os/relibc!552
2024-11-17 16:13:01 +00:00
Jeremy Soller c57022894b Merge branch 'crypt-docs' into 'master'
Add docs for crypt.h

See merge request redox-os/relibc!551
2024-11-17 16:12:44 +00:00
Peter Limkilde Svendsen b8ad113a84 Add docs for crypt.h 2024-11-17 16:12:43 +00:00
Jeremy Soller 63cb0401e5 Merge branch 'calloc-no-intrinsics' into 'master'
Avoid unnecessary intrinsic in calloc

See merge request redox-os/relibc!550
2024-11-17 16:12:27 +00:00
Josh Megnauth d6ac5f8947 Avoid over allocations & reallocations
As we know, vectors amortize the cost of adding new elements by reserving
space for multiple elements when full. This is useful but may lead to
allocating more memory than necessary.

`relibc` generally avoids over allocations by reserving the exact amount
of space when possible. I fixed a few areas that still over allocated or
reallocated unnecessarily by leveraging iterators that are more likely
to know sizes.
2024-11-14 22:53:12 -05:00
Peter Limkilde Svendsen 66eb440d79 Add docs for pty.h and utmp.h 2024-11-13 18:19:22 +01:00
Peter Limkilde Svendsen 56d05e2cdc Add iso646.h and corresponding tests 2024-11-10 16:19:15 +01:00
Peter Limkilde Svendsen 2f1e183cc6 Add docs for inttypes.h 2024-11-09 18:24:18 +01:00
Peter Limkilde Svendsen 0090dea50f Add docs for sys/random.h 2024-11-09 18:12:58 +01:00
Peter Limkilde Svendsen 1474dce2a7 Add basic docs for elf.h 2024-11-09 18:02:47 +01:00
Peter Limkilde Svendsen c440c61e58 Avoid unnecessary intrinsic in calloc 2024-11-09 17:35:09 +01:00
Jeremy Soller a45c7b26d9 Merge branch 'stdlib-docs' into 'master'
Add docs for stdlib.h, add stubs for missing functions

See merge request redox-os/relibc!549
2024-11-08 14:45:26 +00:00
Peter Limkilde Svendsen 890be6fc02 Add docs for stdlib.h, add stubs for missing functions 2024-11-08 14:45:26 +00:00
Jeremy Soller 659cb66c30 Merge branch 'netdb-h_errno' into 'master'
Set `h_errno` for gethostbyname/addr

See merge request redox-os/relibc!547
2024-11-02 12:21:47 +00:00
Josh Megnauth bf1ea4e799 Set h_errno for gethostbyname/addr 2024-11-02 12:21:47 +00:00
Jeremy Soller 2dad215394 Merge branch 'net-if-docs' into 'master'
Add docs for net/if.h

See merge request redox-os/relibc!546
2024-10-31 23:59:00 +00:00
Peter Limkilde Svendsen 36ed4cbd7a Add docs for net/if.h 2024-10-31 23:59:00 +00:00
Jeremy Soller 715dee0c47 Merge branch 'semaphore-docs' into 'master'
Add docs for semaphore.h

See merge request redox-os/relibc!545
2024-10-31 23:58:52 +00:00
Peter Limkilde Svendsen 8367249c1a Add docs for semaphore.h 2024-10-31 23:58:52 +00:00
Jeremy Soller 5135a43e9e Merge branch 'sys-un-docs' into 'master'
Add docs for sys/un.h

See merge request redox-os/relibc!544
2024-10-31 21:43:34 +00:00