Lucas Perlind
83bc2d3c4a
Add asan support for various allocators
2025-05-06 14:55:50 +10:00
Jeroen van Rijn
8032db3484
Fix CreateDibSection binding
2025-05-05 23:23:39 +02:00
gingerBill
c4719e75fd
Add simd.indices and docs
2025-05-05 11:43:19 +01:00
gingerBill
bc2a4dfe9d
Merge pull request #5110 from omark96/feat/get_window_thread_process_id
...
win/sys: Add GetWindowThreadProcessId
2025-05-05 10:17:29 +01:00
Laytan
93f80f60fb
Merge pull request #5112 from blob1807/master
...
`core:bufio`: Fix typo from `b.w-b.w` to `b.w-b.r`
2025-05-05 03:00:46 +02:00
Jeroen van Rijn
32cef4c11b
Fix change_times on Windows and simplify time handling in stat
2025-05-04 22:55:27 +02:00
Jeroen van Rijn
95923c2059
os2: Don't try to translate Windows file attributes to Unix mode flags
...
Also, fix `chmod`. It passed the wrong struct size to `SetFileInformationByHandle`.
2025-05-04 20:03:07 +02:00
blob1807
39752faba4
Fix typo from b.w-b.w -> b.w-b.r
2025-05-04 15:48:26 +10:00
Jeroen van Rijn
0f2a4b80ef
Proper fix for executable name on Linux.
2025-05-04 01:05:10 +02:00
Jeroen van Rijn
deededfb0a
Fix executable_path info on Linux
2025-05-04 00:21:20 +02:00
omark96
1b8a65c327
win/sys: Add GetWindowThreadProcessId
2025-05-03 23:44:55 +02:00
Rohan Jadav
f50698b901
updated file_windows.odin to follow coding conventions
2025-05-01 00:56:31 +05:30
Jamie Dennis
ff0eac2a71
os2: Use win32_wstring_to_utf8 over win32_utf16_to_utf8 when converting FIND_DATAW to File_Info
2025-04-30 21:38:17 +12:00
Barinzaya
3f5e09a0df
Fixed an overflow when decoding a large CBOR slice.
...
The initial allocation for the slice is limited to prevent untrusted
data from forcing a huge allocation, but then the dynamic array was
created with a capacity of the unlimited length, rather than the actual
capacity of the allocation. This was causing a buffer overrun.
2025-04-29 08:19:43 -04:00
Jeroen van Rijn
4f00224dd2
Add cbor.unmarshal_from_bytes taking a []byte
2025-04-29 01:10:15 +02:00
Jeroen van Rijn
8c47d42394
Fix lru.remove
2025-04-29 00:14:46 +02:00
Ely Alon
13566306d2
Fix typo in private function
2025-04-28 22:03:20 +03:00
Rohan Jadav
80a6f8928a
fix: Pipe size on windows.
2025-04-27 01:58:37 +05:30
gingerBill
f3cc734b39
Add copy_directory
2025-04-25 09:01:53 +01:00
gingerBill
9f30380712
Merge pull request #5072 from Lperlind/asan
...
Add more asan support to the odin runtime and begin sanitizing allocators
2025-04-25 08:24:18 +01:00
Barinzaya
6400693197
Added tick_add proc to core:time.
2025-04-24 09:20:31 -04:00
Lucas Perlind
5c117bde6d
Add base:sanitizer package
2025-04-24 20:28:32 +10:00
Lucas Perlind
ab0b26e876
Add more asan support to the odin runtime and begin sanitizing
...
allocators
This adds various bindings to the asan runtime which can be used
to poison/unpoison memory handed out by various allocators. This
means we can catch use after free memory bugs when using operations
such as free_all during runtime.
Asan poisoning are added for the follow allocators in mem:
Arena (including temporary arenas)
Scratch
Stack
Small_Stack
Additionally a bug in the stack allocator was fixed to disallow freeing
in the middle of the stack (caught by the asan!).
I plan on adding support for all the allocators in core. This is just
a good starting point and were some of the easiest ones to implement
asan for.
2025-04-24 15:17:51 +10:00
mtarik34b
c7f9d2b1b7
Correctly capitalize 'E' for the %E format specifier ( #5065 )
2025-04-22 02:35:02 +02:00
Jeroen van Rijn
47f889569f
Fix float64_range example
2025-04-21 18:37:57 +02:00
Jeroen van Rijn
ab5ca087a7
Add comment
2025-04-19 23:44:02 +02:00
Jeroen van Rijn
062a3c2fae
Fix parsing of CDATA tags ( #5059 )
...
Fixes #5054
2025-04-19 20:25:44 +02:00
Jeroen van Rijn
bc86b50392
Replace default_tcp_options with constant ( #5056 )
...
Replace `default_tcp_options` with constant
2025-04-19 14:32:59 +02:00
gingerBill
4374685007
Merge pull request #5042 from fusion32/fix-once-do-without-data-contextless
...
make once_do_without_data_contextless actually contextless
2025-04-18 11:47:10 +01:00
Laytan
2dedb199b8
Merge pull request #5052 from harold-b/hb/fix-ns-dictionary-selectors
...
Fix 2 selectors in NSDictionary
2025-04-17 21:28:10 +02:00
Harold Brenes
040d8b1d48
Fix 2 selectors in NSDictionary
2025-04-17 15:22:10 -04:00
Jeroen van Rijn
07c59cb4db
Early out and propagate nil in create*
...
If allocation of a `^Thread` failed, `create*` now properly return `nil`,
so you can assert on that instead of calling `thread.destroy` on a null pointer, say.
2025-04-17 17:26:24 +02:00
Jeroen van Rijn
1c655b84e4
Fix #5049
...
Keep in mind that `thread.create` needs an allocator to be set, as it returns `^Thread`.
2025-04-17 16:53:07 +02:00
Jeroen van Rijn
5a39013339
Let core:container/priority_queue return runtime.Allocator_Error
...
`init`, `reserve` and `push` now return `runtime.Allocator_Error`.
2025-04-17 14:20:03 +02:00
Laytan
09c8477bd3
Merge pull request #5041 from mtarik34b/remove-redundant-code-in-string-justify
...
Remove redundant `builder_init()` calls from `strings.left_justify()` and `strings.right_justify()`
2025-04-17 00:01:59 +02:00
fusion32
bd4afafc66
make once_do_without_data_contextless actually contextless
2025-04-16 12:44:00 -03:00
gingerBill
4ec03a2d9b
Fix strconv.parse_float related procedures caused by a shifting problem
2025-04-16 13:45:50 +01:00
mtarik34b
f4212b60e7
Remove redundant calls to builder_init
2025-04-16 13:16:51 +02:00
gingerBill
3dcc22fa6d
Change hashing rules for float-like types to make 0 == -0
2025-04-16 10:52:35 +01:00
Jeroen van Rijn
ddedddc16d
Get rid of duplicate math.signbit in favor of math.sign_bit
2025-04-15 16:17:02 +02:00
Laytan
11da543f26
net: add ECONNRESET to the error handling of recv
2025-04-14 21:17:22 +02:00
Jeroen van Rijn
0fc141db5d
core:mem/tlsf: Add early-out in OOM logic
...
This implementation doesn't allow for out-of-band allocations to be passed through, as it's not designed to
track those. Nor is it able to signal those allocations then need to be freed on the backing allocator,
as opposed to regular allocations handled for you when you `destroy` the TLSF instance.
So if we're asked for more than we're configured to grow by, we can fail with an OOM error early, without adding a new pool.
2025-04-14 20:40:05 +02:00
Jeroen van Rijn
3d13beb3ec
Remove now-implemented TODO
2025-04-14 20:09:55 +02:00
Jeroen van Rijn
beee27dec0
Allow core:mem/tlsf to automatically add new pools.
...
New features:
- If TLSF can't service an allocation made on it, and it's initialized with `new_pool_size` > 0, it will ask the backing allocator for additional memory.
- `estimate_pool_size` can tell you what size your initial (and `new_pool_size`) ought to be if you want to make `count` allocations of `size` and `alignment`, or in its other form, how much backing memory is needed for `count` allocations of `type` and its corresponding size and alignment.
2025-04-14 19:49:55 +02:00
Jeroen van Rijn
66d99c1be3
Merge pull request #5036 from Kelimion/tlsf
...
Refactor `core:mem/tlsf`, add `free_all` support.
2025-04-14 17:30:46 +02:00
Jeroen van Rijn
7088284ff4
Refactor core:mem/tlsf, add free_all support.
...
TODO: Allow the TLSF allocator to add additional pools when it would ordinarily OOM
by calling its backing allocator.
2025-04-14 17:13:27 +02:00
Jeroen van Rijn
9516084e58
Merge pull request #5035 from Sojamann/sync_chan-maintainance
...
core:sync/chan: maintainance and package clarity
2025-04-13 23:13:07 +02:00
Robin Bergewski
1c6958d443
core:sync/chan: maintainance and package clarity
...
this deprecates all procedures around 'Raw_Queue' for it to
become package private.
2025-04-13 22:56:40 +02:00
Jeroen van Rijn
bb38775fb1
Remove Type_Info_Tuple
2025-04-13 21:51:57 +02:00
jason
4998d4ebd0
Fix linux.dirent_name
...
Was not searching the first possible byte for 0.
2025-04-13 12:05:39 -04:00