fix(model): reject null/empty YAML mapping keys in ParseBytes
ci / vet, staticcheck, test, build (push) Failing after 2m43s
ci / vet, staticcheck, test, build (push) Failing after 2m43s
A bare '?' in YAML is an explicit-key indicator for a null key, which produced a job with an empty name (p.Jobs[""]) — a parser invariant violation caught by FuzzParseBytes. ParseBytes now returns an error when keyNode.Value is empty. Failing corpus entry retained as a seed so CI exercises this path. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -88,6 +88,12 @@ func TestParseBytes_EdgeCases(t *testing.T) {
|
||||
if err == nil {
|
||||
t.Error("wrong field type: expected error from ParseBytes (stage must be string)")
|
||||
}
|
||||
|
||||
// Null/empty YAML key (e.g. bare "?"): job name cannot be empty.
|
||||
_, err = ParseBytes([]byte("?"))
|
||||
if err == nil {
|
||||
t.Error("null key: expected error from ParseBytes (job name cannot be empty)")
|
||||
}
|
||||
}
|
||||
|
||||
// TestParse_ParseBytesError exercises the Parse → ParseBytes error path (line 18).
|
||||
|
||||
Reference in New Issue
Block a user