Commit Graph

18 Commits

Author SHA1 Message Date
3ad23eab21
kernel: Add support for supplementary groups (1/2)
Adds support for supplementary groups internally in the kernel.
No userspace support.
2023-11-22 18:49:40 +01:00
70a232cfcd
libluna: Make Vector grow exponentially 2023-08-22 11:53:42 +02:00
498e20561f
libluna: Add release_data() overloads to Buffer and Vector
This can be used to transfer the underlying data to a String object without copying.
2023-07-02 19:29:04 +02:00
8542cf7cbf
libluna: Fix Vector::shallow_copy() 2023-06-19 12:23:39 +02:00
148c1c7341
libluna: Add the clear_data() method to Vector and use it to optimize Base64::decode
All checks were successful
continuous-integration/drone/push Build is passing
This method clears the Vector's data without deallocating the
backing buffer, so that it can be reused without reallocation.
2023-06-18 19:24:26 +02:00
a1bf4dafbe
libluna: Remove implicit vector copying and add an explicit way to do it
All checks were successful
continuous-integration/drone/push Build is passing
Closes #28.
2023-06-09 22:54:22 +02:00
2ecb1e7c90
Vector: Call destructors on reassignment and call element copy constructors
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-18 20:17:05 +02:00
00832163d4
libos: Add Process::exec
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-18 18:39:37 +02:00
417e505750
kernel+libc: Add unlink(), rmdir(), remove() 2023-04-12 18:11:36 +02:00
0f8a46ab67
Vector: Copy the right amount in try_dequeue()
I always forget to multiply by sizeof(T)...
2023-04-08 14:46:58 +02:00
e241c70aad Vector: Call destructors on deallocation
All checks were successful
continuous-integration/drone/push Build is passing
I hate the Gitea web editor on a phone.
2023-04-01 08:56:21 +00:00
a164dcc160
libos: Add libos + very basic ArgumentParser
All checks were successful
continuous-integration/drone/push Build is passing
libluna but for stuff that interests only userspace, like an argument parser or files or stuff like that.
2023-03-29 18:27:02 +02:00
0320ffb485
Vector: Fix operator[]
Istg Vector has a curse or something, the annoying and inexplicable bugs always end up in Vector.
2023-03-29 01:05:30 +02:00
b8b8d20f5b
Vector: Let realloc do its job and thus avoid a UAF (a particularly nasty one)
All checks were successful
continuous-integration/drone/push Build is passing
Who even thought that copying from an old pointer passed to realloc() was a good idea?
Me, apparently.

Additionally, the entire point of this memcpy() was to copy the data over from the old buffer (which is already freed btw) to the new buffer, which is already done by realloc.
That's the entire point of realloc. The data is copied over by realloc already.

And even if the old pointer is not unmapped, we scrub freed memory with useless data, so the memcpy sets the vector's buffer to that useless data as well.

I don't even know how I managed to introduce so many bugs into Vector.

At least it should work properly now.
2023-03-28 18:37:12 +02:00
767dbf521c
Vector: Fix crash when trying to use vector after a call to clear() 2023-03-23 22:19:43 +01:00
89ad6869a4
Vector: Add a clear() method 2023-03-23 21:20:41 +01:00
41203df472
libluna/Vector: Use bytes instead of count in resize()
This fixes a bug that was causing the heap linked list to become quite corrupted.
2023-03-10 21:07:08 +01:00
77887eed80
luna -> libluna
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-27 15:22:39 +01:00