Zoltán Kéri
7672ac945a
encoding/base32: Add RFC 4648 test suite
...
Add test suite based on RFC 4648 test vectors and validation rules:
- Add section 10 test vectors for valid encoding/decoding
- Add test cases for invalid character handling (section 3.2)
- Add test cases for padding validation (section 4)
- Add test cases for length requirements (section 6)
The test vectors verify that:
- Empty string encodes/decodes correctly
- Standard cases like "foo" -> "MZXW6===" work
- Invalid characters are rejected
- Missing or malformed padding is detected
- Invalid lengths are caught
2024-12-24 15:28:34 +01:00
Zoltán Kéri
b9338777e3
encoding/base32: Fix buffer allocation and bounds checking
...
Fix buffer allocation size calculation and add proper bounds checking to
ensure output buffer has sufficient space. This fixes crashes that could
occur with inputs like "AA" and other edge cases where the output buffer
was too small.
Remove #no_bounds_check as proper bounds checking is necessary for safe
error handling. The small performance trade-off is worth the improved
robustness.
2024-12-24 02:20:32 +01:00
Zoltán Kéri
8c761627c8
encoding/base32: Replace assertions with error returns
...
Replace assertions with proper error handling in base32.decode() to allow
programs to handle invalid input gracefully rather than crashing.
The function now returns ([]byte, Error) instead of just []byte.
2024-12-24 02:17:57 +01:00
Laytan Laats
7edd332993
fix #4536 - stack buffer overflow for size_of 0 types in struct unmarshal
2024-12-06 22:12:52 +01:00
gingerBill
e4bdc4ff7c
Merge pull request #4562 from dozn/patch-1
...
Move Struct Field Zipping Outside of Loop
2024-12-06 14:21:01 +00:00
gingerBill
d452d37b93
Fix #4537
2024-12-05 15:51:05 +00:00
dozn
37fb2754a1
Move Struct Field Zipping Outside of JSON Token Loop
2024-12-05 07:23:34 -08:00
gingerBill
d0f87913e2
Fix #4549
2024-12-02 10:49:49 +00:00
o:tone
c3478e0002
fix unmarshal unhandled error ( #4515 )
...
* fix unmarshal unhandled error
2024-11-25 13:15:33 +01:00
jakubtomsu
86c84f2621
Fix a bug in hxa decoder found by the new check
2024-11-17 21:35:49 +01:00
gingerBill
26f6741674
Check for more errors in json.unmarshal
2024-11-14 16:45:36 +00:00
gingerBill
c440122d93
Remove relative types from json marshaller
2024-11-14 16:18:41 +00:00
Alexis Caraballo
31d5bc48a7
fix cbor.to_json always returning array of tuples for objects
...
to_json uses a small proc to check if all keys of an object are strings.
It was always returning false for any input.
2024-10-29 01:50:38 -03:00
Laytan Laats
4608d26e6e
encoding/cbor: fix skipping of ignored/missing fields in struct unmarshal
2024-10-26 22:39:46 +02:00
Laytan Laats
793ef6012b
encoding/cbor: handle binary having more fields than the struct by discarding
2024-10-25 20:37:55 +02:00
Tom Solberg
90a0c834bb
cbor: fix capacity and ptr calculation for dynarray unmarshal
2024-10-20 21:27:16 +02:00
Laytan Laats
e79f94ca5e
encoding/json: fix leak when string is unmarshalled into non-string field
...
Fixes #4391
2024-10-19 17:08:24 +02:00
flysand7
45d26dc7f9
[encoding/ini]: Add missing line terminator at the end of the section
2024-09-24 18:57:42 +11:00
Laytan Laats
788e4b2b6a
core/encoding/cbor: allow unmarshalling non-string map keys
2024-09-11 15:57:56 +02:00
gingerBill
a4fd0c133e
Merge pull request #4191 from laytan/improve-package-doc-comments
...
core: improve package doc comments for the documentation generator
2024-09-04 21:37:48 +01:00
jakubtomsu
7487d507be
unmarshal bitset ints like cbor does
2024-09-04 11:08:45 +02:00
Laytan Laats
288312a812
core: improve package doc comments for the documentation generator
2024-09-03 19:59:04 +02:00
Laytan Laats
195259e88b
fix some doc comments
2024-09-02 20:10:11 +02:00
Laytan Laats
bfedcd7035
encoding/csv: fix examples
2024-08-30 23:31:31 +02:00
Ed Yu
4e2bce0c83
Fix error for uuid to require 36 bytes instead 32 (4 bytes for dashes)
2024-08-26 10:25:10 -07:00
Laytan Laats
912f99abc8
encoding/cbor: various fixes
...
- "null" is the proper way to represent the nil value in the diagnostic
format
- hex encoding in diagnostic format was wrong
- struct keys weren't sorted the right deterministic way
2024-08-09 21:56:54 +02:00
gingerBill
5f7fef92fa
Update example to use err != nil instead
2024-08-04 12:25:50 +01:00
Ronald
1a6885c2a3
Tidy up code
2024-07-21 00:08:20 +01:00
Ronald
c3a57853e2
Ensure that values in ini map are unquoted
2024-07-21 00:00:47 +01:00
Jeroen van Rijn
fc5ce30f34
Allow json to unmarshal empty struct.
2024-07-21 00:37:11 +02:00
gingerBill
ba3d7ba5d3
Add core:encoding/ini to examples/all
2024-07-19 12:03:34 +01:00
Ronald
c768d0719a
Remove unnecessary change
...
This was accidentally added, it was a change I made whilst testing.
2024-07-17 21:57:35 +01:00
Ronald
f04db7145c
Fix memory leak in encoding/ini
...
A simple change that fixes a memory leak caused by not deleting all the
values in the map
2024-07-17 21:19:14 +01:00
Laytan Laats
28fac62a02
fix some bugs with -disable-assert
2024-07-16 18:44:18 +02:00
gingerBill
9d84e00502
Clean up unquote code
2024-07-14 22:25:26 +01:00
gingerBill
7703b37a1b
Merge branch 'master' of https://github.com/odin-lang/Odin
2024-07-14 22:23:52 +01:00
gingerBill
95a695e4cd
Fix #3926
2024-07-14 22:23:46 +01:00
gingerBill
02408b713a
Merge pull request #3910 from VladPavliuk/json-add-int-key-map-support
...
Allow to `marshal` and `unmarshal` maps with int keys
2024-07-14 22:00:01 +01:00
gingerBill
399c3ab067
Reduce the size of runtime.Type_Info
2024-07-14 21:37:35 +01:00
VladPavliuk
3f8712edb0
Merge branch 'master' into json-add-int-key-map-support
2024-07-14 18:22:20 +03:00
Ronald
7e4e3429d7
Fix logic bug in core/encoding/ini/ini.odin
...
The load_map_from_path had incorrect logic where it would return false
for ok when err was equal to nil and true when there was an error.
2024-07-14 11:48:34 +01:00
VladPavliuk
76fe5d1346
Align ignore syntax of json tags with fmt, cbor
2024-07-14 00:21:05 +03:00
VladPavliuk
64ae99f016
Add support of ignore tag for json.marshal
2024-07-13 14:13:59 +03:00
VladPavliuk
dbdad0476d
Allow to marshal and unmarshal maps with int keys
2024-07-13 00:07:48 +03:00
Laytan Laats
2d8d0dd851
fix @(optimization_mode) usage in builtin collections
2024-07-08 21:07:53 +02:00
Laytan Laats
6ab559437a
encoding/cbor: add a custom tag to the example
2024-07-08 01:01:11 +02:00
Laytan Laats
db3b4ceb4a
encoding/cbor: improve perf of marshalling array-like types
2024-07-08 00:37:40 +02:00
Laytan Laats
39e9b65c59
encoding/cbor: fix umarshal of big fixed arrays
2024-07-08 00:35:19 +02:00
Laytan Laats
604551eb2d
wasi: make the demo run on wasi and run it in CI
2024-06-29 23:15:31 +02:00
gingerBill
e296d6fb90
Fix loads of indentation issues with mixing spaces and tabs
2024-06-29 19:50:51 +01:00