|
| 1 | +1.11.4 | 2025-05-08 09:27:39 +0200 |
| 2 | + |
| 3 | + * Make sure `bytes::to[U]Int` returns runtime integers. (Benjamin Bannier, Corelight) |
| 4 | + |
| 5 | + A user was using code like |
| 6 | + |
| 7 | + function make(): tuple<uint64> { |
| 8 | + return (b"\x00\x00".to_uint(spicy::ByteOrder::Big), ); |
| 9 | + } |
| 10 | + |
| 11 | + Before this patch this would generate a tuple constructor from an an |
| 12 | + naked `uint64_t` which failed in the conversion to the expected safe |
| 13 | + integer at C++ compilation time with a pretty cryptic C++ compiler error. |
| 14 | + |
| 15 | + The only way to work around that would have been to explicitly create a |
| 16 | + temporary integer and use that, e.g., |
| 17 | + |
| 18 | + function make(): tuple<uint64> { |
| 19 | + local x = b"\x00\x00".to_uint(spicy::ByteOrder::Big); |
| 20 | + return (x, ); |
| 21 | + } |
| 22 | + |
| 23 | + With this patch this works like expected. |
| 24 | + |
| 25 | + (cherry picked from commit 94a4441cea22d02332d1d6e581425958a067a878) |
| 26 | + |
| 27 | + * Add `#include <cstdint>` for fixed-width integers (i2z1) |
| 28 | + |
| 29 | + (cherry picked from commit e3cc7ee858ed2c94c1a2422faea86d9262427dad) |
| 30 | + |
| 31 | + * Bump freebsd-14 in CI. (Benjamin Bannier, Corelight) |
| 32 | + |
| 33 | + (cherry picked from commit 7d2ef9cf040c41a5ab8d76d71d29ee2c786c9f44) |
| 34 | + |
| 35 | + * Bump freebsd-13 in CI. (Benjamin Bannier, Corelight) |
| 36 | + |
| 37 | + (cherry picked from commit 220649c6a0d51e2ac590d0bea47fdc63e463767c) |
| 38 | + |
| 39 | + * Fine-tune recent CMake 4 tweak. (Robin Sommer, Corelight) |
| 40 | + |
| 41 | + (cherry picked from commit 170a9bd5724bfa260201770e91740cb9791a178a) |
| 42 | + |
| 43 | + * Work-around CMake 4 no longer setting `CMAKE_OSX_SYSROOT` by default. (Robin Sommer, Corelight) |
| 44 | + |
| 45 | + See comment for details. |
| 46 | + |
| 47 | + (cherry picked from commit 60908a6202875b33cae5123fd150bf57bfac7ddd) |
| 48 | + |
| 49 | + * Let `configure` work with CMake 4. (Robin Sommer, Corelight) |
| 50 | + |
| 51 | + (Not checking for a `cmake4` binary; unlikely to have that but not a |
| 52 | + valid `cmake`.) |
| 53 | + |
| 54 | + (cherry picked from commit 8bb65de26bfe2e491a6959c5b8b0f1d05f6c3cfe) |
| 55 | + |
| 56 | + * Keep test `spicy.rt.time` working for the next 200 years. (Benjamin Bannier, Corelight) |
| 57 | + |
| 58 | + This test still compares the current time against hardcoded times to |
| 59 | + check ordering. Extend the upper value so this test passes for the next |
| 60 | + ~200 years. |
| 61 | + |
| 62 | + (cherry picked from commit 93c2cc86e51c1b66b821c091095842cb22ba2a94) |
| 63 | + |
| 64 | + * Prevent escape of non-HILTI exception in lower-level driver functions. (Benjamin Bannier, Corelight) |
| 65 | + |
| 66 | + While we already did some handling of non-HILTI exceptions in Spicy's |
| 67 | + high-level drivers[^spicy-driver] (even though this would allow escape |
| 68 | + of exceptions not deriving from `std::exception`), we did not do the |
| 69 | + same for the lower level processing functionality in the actual driver. |
| 70 | + This is the interface used by e.g., Zeek, and already an |
| 71 | + `std::exception` thrown from a parser would lead to the exception |
| 72 | + propagating into Zeek and ultimately causing a `std::terminate` there, |
| 73 | + see e.g., [this oss-fuzz |
| 74 | + report](https://oss-fuzz.com/testcase-detail/6088469254569984). In that |
| 75 | + particular case a call to `std::vector::reserve` exceeding the available |
| 76 | + memory caused raising of a `std::length_error`. |
| 77 | + |
| 78 | + This patch extends the exception handling in the driver so all |
| 79 | + exceptions are handled by now transforming any non-HILTI exceptions into |
| 80 | + HILTI exceptions like expected by callers. |
| 81 | + |
| 82 | + [^spicy-driver]: https://github.com/zeek/spicy/blob/32251850bd8808d18c5dd9306dc0d56c7ebd5d9d/spicy/toolchain/bin/spicy-driver.cc#L331-L334 |
| 83 | + |
| 84 | + * GH-1918: Fix potential segfault with stream iterators. (Robin Sommer, Corelight) |
| 85 | + |
| 86 | + When trimming off the beginning of a stream, an existing iterator |
| 87 | + could end up dereferencing its internal chunk pointer even if the |
| 88 | + chunk now no longer existed. The issue was inside the |
| 89 | + increment/decrement operations, which didn't check if the *current* |
| 90 | + iterator offset was still valid (because only then the current chunk |
| 91 | + is guaranteed to be valid too). |
| 92 | + |
| 93 | + Closes #1918. |
| 94 | + |
| 95 | + (cherry picked from commit 153eca31ec55ddfe5425812ad1eba35d271a137d) |
| 96 | + |
| 97 | + * GH-1918: Add regression tests triggering #1918. (Robin Sommer, Corelight) |
| 98 | + |
| 99 | + (cherry picked from commit ff34c28a6882387d9849a034401b2d3ae0f01759) |
| 100 | + |
| 101 | + * GH-1871: Fix `&max-size` on unit containing a `switch`. (Robin Sommer, Corelight) |
| 102 | + |
| 103 | + We would advance our input too early, letting the subsequent |
| 104 | + `&max-size` check fail. |
| 105 | + |
| 106 | + Closes #1871. |
| 107 | + |
| 108 | + (cherry picked from commit 3825ff993d020915b3a29920aa493abd26194c7e) |
| 109 | + |
| 110 | + * Stop using deprecated pre-commit stage names. (Benjamin Bannier, Corelight) |
| 111 | + |
| 112 | + The names we used have been deprecated since some time, see |
| 113 | + https://github.com/pre-commit/pre-commit/issues/2732. |
| 114 | + |
| 115 | + (cherry picked from commit 45d92820c90b88cfeb3e5d864fb7254d56ac6b26) |
| 116 | + |
1 | 117 | 1.11.3 | 2024-10-01 20:15:46 +0200 |
2 | 118 |
|
3 | 119 | * GH-1846: Fix bug with captures groups. (Robin Sommer, Corelight) |
|
0 commit comments