Merged
Conversation
Fixed 3 CRITICAL and 4 HIGH priority undefined behavior issues: CRITICAL FIXES: 1. ltable.cpp:1243 - Added bounds check for bit mask shift (prevent UB when n >= 32) 2. ltable.cpp:730 - Split shift validation into separate checks (prevent shift UB) 3. ltable.cpp:1250 - Added wrap-around assertion for hash table doubling HIGH PRIORITY FIXES: 4. ltable.cpp:707-708 - Added bounds validation for table array reallocation pointer arithmetic 5. lvm_string.cpp:73-74 - Fixed GC safety in string concatenation (recapture stack pointer after GC) 6. lstack.h:118-125 - Eliminated char* round-trip in stack save/restore (direct pointer arithmetic) 7. ltable.cpp:105-136 - Added overflow checks and alignment assertions for NodeArray memory layout ADDITIONAL CHANGES: - Added <cstdint> include for uintptr_t type - All assertions verify safety invariants at runtime TESTING: - All 30+ test files pass: "final OK !!!" - Performance: 4.36s average (4.14s-4.59s range) - Target: ≤4.33s (within normal variance) Status: Phase 116 complete, 7/11 critical+high issues fixed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixed 3 CRITICAL and 4 HIGH priority undefined behavior issues:
CRITICAL FIXES:
HIGH PRIORITY FIXES:
4. ltable.cpp:707-708 - Added bounds validation for table array reallocation pointer arithmetic
5. lvm_string.cpp:73-74 - Fixed GC safety in string concatenation (recapture stack pointer after GC)
6. lstack.h:118-125 - Eliminated char* round-trip in stack save/restore (direct pointer arithmetic)
7. ltable.cpp:105-136 - Added overflow checks and alignment assertions for NodeArray memory layout
ADDITIONAL CHANGES:
TESTING:
Status: Phase 116 complete, 7/11 critical+high issues fixed