Skip to content

bugfix: validate array variables before use. - #21

Merged
zhuizhuhaomeng merged 2 commits into
masterfrom
dev
Oct 25, 2026
Merged

zhuizhuhaomeng merged 2 commits into
masterfrom
dev

Conversation

@zhuizhuhaomeng

Copy link
Copy Markdown
Contributor

Register arrays in the request pool and validate variable headers against registered arrays before mapping or joining. Preserve copied headers and arrays used across internal redirects, named locations, and subrequests.

Report invalid scalar arguments with the correct directive name and variable value.

Add regression coverage for invalid scalar handling and array lifetimes. All 67 tests pass against the nginx 1.31.8 test build.

Store array values as references containing a module tag and an array
pointer. Check the reference size and tag before mapping or joining, and
copy references safely from potentially unaligned NDK buffers. Keep
validation independent of the number of arrays in the request.

Preserve copied references and arrays used across internal redirects,
named locations, and subrequests. Reject overflowing initial capacities
and format variable values correctly in error logs.

Add regression coverage for invalid scalars, invalid tags, copied
references, array lifetimes, and creation of many arrays. All 78 assertions
pass against the nginx 1.31.8 test build.
@zhuizhuhaomeng
zhuizhuhaomeng merged commit 6f2b1de into master Oct 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant