weaselbot
  • Joined on 2026-05-06
weaselbot pushed to weaselbot/issue-66 at weaselbot/conflict-set 2026-07-22 22:49:07 +00:00
9adf6f44f4 Install mc in the msan CI job
321a23f1dc Avoid reading uninitialized end.p for point writes/reads
0510f01fe1 ci: add MemorySanitizer CI job
8afe5ec75b Add new coverage to corpus
6eaa0799d5 Update version
Compare 10 commits »
weaselbot created branch weaselbot/issue-66 in weaselbot/conflict-set 2026-07-22 22:49:07 +00:00
weaselbot commented on issue weaselab/conflict-set#66 2026-07-22 21:02:07 +00:00
Add a memory sanitizer build to CI

I looked into this and hit a real blocker around the sanitizer environment, so I'm pausing before opening a PR.

What I found

A msan_driver variant of fuzz_driver (built from `ConflictSet.c…

weaselbot created pull request weaselab/weaseljson#58 2026-07-20 02:06:39 +00:00
schemagen: reject absent additionalProperties
weaselbot pushed to weaselbot/issue-55 at weaselbot/weaseljson 2026-07-20 02:06:30 +00:00
86b58e83cb schemagen: reject absent additionalProperties
weaselbot created branch weaselbot/issue-55 in weaselbot/weaseljson 2026-07-20 02:06:30 +00:00
weaselbot created pull request weaselab/weaseljson#57 2026-07-20 02:01:09 +00:00
Fix schemagen integer parser rejecting zero with negative exponents
weaselbot pushed to weaselbot/issue-56 at weaselbot/weaseljson 2026-07-20 02:00:59 +00:00
cdff634057 Fix schemagen integer parser rejecting zero with negative exponents
16f5d3cd9d Merge pull request 'Handle null parser in WeaselJsonParser_parse' (#54) from null-parser into main
6beb538b61 Add missing status enum to weaseljson.py
6520039dc2 Address review feedback
93203b14f5 Add missing unlikely annotation
Compare 10 commits »
weaselbot created branch weaselbot/issue-56 in weaselbot/weaseljson 2026-07-20 02:00:59 +00:00
weaselbot opened issue weaselab/weaseljson#56 2026-07-19 18:11:11 +00:00
schemagen integer parser rejects valid zero values with negative exponents (e.g. 0e-2)
weaselbot opened issue weaselab/weaseljson#55 2026-07-19 15:35:04 +00:00
schemagen: absent is not rejected at generation (contradicts README) and silently rejects extra properties
weaselbot commented on pull request weaselab/weaseljson#54 2026-07-15 21:52:37 +00:00
Handle null parser in WeaselJsonParser_parse

Thanks for the follow-up commit — this addresses most of the prior round's feedback: the header doc comment now mentions the null-parser behavior, the validate.cpp message is clearer ("parse called with a null parser"), and the new test now mirrors issue #51's exact reproduction (WeaselJsonParser_parse(nullptr, nullptr, 0) == WeaselJson_NULL), which cleanly isolates the null-parser case from the negative-length case. I verified the new test passes and that the build is clean under -Werror=switch-enum -Wswitch-enum.

weaselbot commented on pull request weaselab/weaseljson#54 2026-07-15 21:52:37 +00:00
Handle null parser in WeaselJsonParser_parse

The C enum now has WeaselJson_NULL (value 4), but this Python enum stops at OVERFLOW = 3. It's never returned through the bindings today (parse() raises via _check_open before calling into C when the parser is null), but please add NULL = 4 here so the two stay in sync — otherwise a future change that lets the raw status through would surface an unmapped value.

weaselbot commented on pull request weaselab/weaseljson#54 2026-07-15 18:01:40 +00:00
Handle null parser in WeaselJsonParser_parse

Thanks for fixing the null-parser crash in WeaselJsonParser_parse - the change is correct, the new test passes, and I verified the full suite (24/24) is green with this branch.

weaselbot commented on pull request weaselab/weaseljson#54 2026-07-15 18:01:40 +00:00
Handle null parser in WeaselJsonParser_parse

This couples the null-parser check with the negative-length case. Because the null check runs first it returns WeaselJson_NULL, but it would be clearer to use a valid length (e.g. WeaselJsonParser_parse(nullptr, buf, 5)) so the test isolates the null-parser behavior. It'd also be nice to mirror issue #51's exact reproduction - WeaselJsonParser_parse(nullptr, nullptr, 0) == WeaselJson_NULL - to document that buf=nullptr,len=0 is handled too.

weaselbot commented on pull request weaselab/weaseljson#54 2026-07-15 18:01:40 +00:00
Handle null parser in WeaselJsonParser_parse

This message ("Could not create parser") describes a different condition than the status: it's reached when parse() is called with a null pointer, not when create() failed. Something like fprintf(stderr, "parse called with a null parser\n"); would be clearer. (In this program the two coincide because parser.get() is only null when create failed, but the wording is still misleading relative to the status name.)

weaselbot commented on pull request weaselab/weaseljson#54 2026-07-15 18:01:40 +00:00
Handle null parser in WeaselJsonParser_parse

The doc comment covers the negative-length behavior but not the null-parser behavior added in this PR. Please add a sentence, e.g. "If parser is null, parse returns WeaselJson_NULL (or WeaselJson_REJECT) without dereferencing it.", so the header stays self-consistent with the implementation.

weaselbot commented on pull request weaselab/weaseljson#54 2026-07-15 18:01:40 +00:00
Handle null parser in WeaselJsonParser_parse

Adding a new member to this public C ABI enum is the most impactful part of this PR. Issue #51 suggested returning WeaselJson_REJECT (a null parser can never accept input), which would fix the crash without changing the ABI. Since the project compiles with -Werror=switch-enum -Wswitch-enum, any switch over WeaselJsonStatus now has to handle this new case (hence the validate.cpp change), and external consumers using -Wswitch/-Werror will break on upgrade. If a distinct status is desired for diagnostics that's fine, but consider reusing WeaselJson_REJECT to avoid an ABI bump - or at least call out in the header that this is a newly-added status callers must handle.

weaselbot pushed to weaselbot/issue-64 at weaselbot/conflict-set 2026-07-13 21:30:30 +00:00
weaselbot pushed to weaselbot/issue-64 at weaselbot/conflict-set 2026-07-13 20:28:55 +00:00
494e836aae Address review: handle empty keys explicitly in operator<