You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
0.3.0 (2026-11-03)
Changed
Breaking:kest_gave_text holds the text it writes out to the text it is in, as kest_call does for text handed in. It copied as many bytes as the frame's length slot said, from wherever its address slot pointed, asking only that the address was not NULL: a host that wrote 64 into the length of two bytes of text had 64 copied, and the checked build stopped on a read of poisoned memory; with -1 it read 4095 bytes. A frame whose text has an address that is not the machine's, or a length past the text there, now answers -1 with K0632 ("slot N of the frame holds text with L in its length slot, which the text there cannot be, so it is not what f gave back"), and no room to list the program's own text answers -1 with K0605. What a call left in the frame is written out exactly as before. (#215)
Breaking:kest_text refuses a length past 2,147,483,647 bytes, the most len counts, with K0630 and the number, before a byte is read. A host that handed 2,147,483,648 bytes over had them taken, and the program's len answered 2147483648, which no i32 holds; at 4,294,967,295 bytes the room asked for the copy wrapped to nought and the refusal said K0605 "out of memory". Text of 2,147,483,647 bytes or fewer is taken exactly as before. (#216)
Fixed
kest_takes_text refuses a NULL among its words with K0635 naming the word, before any word is read and with nothing written into the frame. A list with a hole in it crashed the host: in the reader for a number, in strlen for text. (#219)
kest_build_from refuses a file with no path, the first or any after it, with K0701 ("file N of the M a build was handed has no path", counted from nought) and answers NULL. A missing path after the first crashed the host at the first import, and one on the first file was said as a build handed no files. (#221)
Seven doors answer a NULL name or path instead of crashing the host. kest_entry and kest_entry_of answer -1. kest_borrow with no element answers a lend with nothing in it and K0610. kest_build_layout answers nought. kest_build, kest_build_within and kest_held_new with no path answer NULL with K0701 ("a build handed no path has no program to read") written to errors. (#222)