fix: complete CVE-2026-39414 S3 Select record limit enforcement

Route JSON Lines through the bounded PReader path so oversized records are rejected consistently instead of bypassing the limit on SIMD-capable CPUs.

Preserve S3 Select error codes in stream error events, wrap JSON parser errors as JSONParsingError, and flush completed records before returning a terminal error event. Add regression coverage for oversized JSON Lines input and error code preservation.

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Claude Code <claude-code@anthropic.com>
This commit is contained in:
Feng Ruohang
2026-06-12 17:10:23 +08:00
parent 5e40665acd
commit fd69c89d05
3 changed files with 107 additions and 10 deletions
+1 -1
View File
@@ -244,7 +244,7 @@ func (r *PReader) startReaders() {
r.bufferPool.Put(in.input)
in.input = nil
if err := d.Err(); err != nil {
in.err = err
in.err = errJSONParsingError(err)
}
in.dst <- all
}