jcs
/subtext
/amendments
Amendments on August 3, 2022
serial: Rewrite to allocate session on RING, then manually answer
If we can't allocate a session, just don't answer.
uthread: Pre-allocate threads, put gaps between each stack
Add a verification function that verifies that each gap hasn't been
written to.
jcs made amendment
235
7 months ago
jcs made amendment
234
7 months ago
jcs made amendment
233
7 months ago
jcs made amendment
232
7 months ago
user: Rename user_find_username to user_username
This function isn't looking up something from bile that needs to be
freed, it's just checking its cache.
jcs made amendment
230
7 months ago
jcs made amendment
229
7 months ago
jcs made amendment
228
7 months ago
jcs made amendment
227
7 months ago
Amendments on July 31, 2022
jcs made amendment
226
8 months ago
bile: Pass object size to bile_unmarshall_object to check for overflow
Also add malloc annotations
util: Add note parameter to xmalloc, xcalloc, and xrealloc
If THINK C supported __func__ this would be much easier, but for now
we have to manually annotate every allocation. This will help find
the source of memory leaks.
Amendments on July 29, 2022
jcs made amendment
223
8 months ago
Amendments on July 24, 2022
tcp: Don't bother manually zeroing open options
This whole struct has already been zeroed with memset.
jcs made amendment
221
8 months ago
Amendments on July 21, 2022
*: Use NewPtr instead of malloc, add malloc and free debugging
Instead of free(ptr), use xfree(&ptr) and after it calls
DisposePtr(ptr), it will update ptr to point at NULL to catch
use-after-frees.
When MALLOC_DEBUG is defined, each allocation is added to a
list, and removed when freed. If it's not in the list at free
time, it's a double-free. Also, instead of pointing pointers at
NULL, point them to a pre-defined block of zeroes and in the
idle loop, periodically check that this block is still zero. This
will also catch use-after-frees in a more reliable (but costly)
way.
jcs made amendment
219
8 months ago
Amendments on July 19, 2022
*: Add session signoff view, remove session_output_template
All remaining uses of session_output_template can use session_printf
which still does {{B}} and {{/B}} parsing.
Change session_output_view to session_output_view_or_printf to make it
easier to print a view and fallback to a string, rather than having to
check the result of session_output_view everywhere.