Skip to content

Enforce thresholds in explicit representation handling#174

Open
colm-mchugh wants to merge 1 commit into
masterfrom
feature/hll-explicit-threshold-enforcement
Open

Enforce thresholds in explicit representation handling#174
colm-mchugh wants to merge 1 commit into
masterfrom
feature/hll-explicit-threshold-enforcement

Conversation

@colm-mchugh
Copy link
Copy Markdown

DESCRIPTION: Enforce thresholds in explicit representation handling.

Cap expthresh_value() auto-calculated threshold to mse_nelem_max() so the explicit-to-compressed promotion fires before exceeding capacity.

Validate deserialized parameters in multiset_unpack() via check_modifiers() to reject binary with out-of-range log2m or regwidth values that bypass parameter validation. Prevents possible crash in edge case scenarios.

Additional guards:

  • explicit_union(): add mse_nelem_max() check alongside expval
  • multiset_add(): use >= instead of == and add mse_nelem_max() fallback
  • multiset_add(): replace Assert with runtime ereport(ERROR)

Includes regression tests covering rejection of a binary with out-of-range parameters, valid parameter no-regression, and promotion boundary behavior.

Cap expthresh_value() auto-calculated threshold to mse_nelem_max() so
the explicit-to-compressed promotion fires before exceeding capacity.

Validate deserialized parameters in multiset_unpack() via
check_modifiers() to reject crafted binary with out-of-range log2m
or regwidth values that bypass parameter validation.

Additional guards:
- explicit_union(): add mse_nelem_max() check alongside expval
- multiset_add(): use >= instead of == and add mse_nelem_max() fallback
- multiset_add(): replace Assert with runtime ereport(ERROR)

Includes regression tests covering rejection of crafted binary with
out-of-range parameters, valid parameter no-regression, and
promotion boundary behavior.
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