Skip to content

Commit d458970

Browse files
committed
Update CHANGES.
1 parent 1808310 commit d458970

File tree

2 files changed

+117
-1
lines changed

2 files changed

+117
-1
lines changed

CHANGES

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,119 @@
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+
1117
1.11.3 | 2024-10-01 20:15:46 +0200
2118

3119
* GH-1846: Fix bug with captures groups. (Robin Sommer, Corelight)

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.11.3
1+
1.11.4

0 commit comments

Comments
 (0)