Conversation
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.
Motivation
d[0]/d[1]afterSCI_REPLACETARGETinconvertall.trimtrailingspacepointer math safer by using explicit pointers andmemmoveinstead of backward indexed loops.Description
SCI_REPLACETARGETwith a safe scan:d = memspn(d,end,"\r\n",2)so no indexed reads occur near buffer end.trimtrailingspaceto uselineend/trimstartpointers andmemmovefor in-place trimming to avoid signed/unsigned and bounds risks.if (sln>=sellen) p2 += sln-sellen; else p2 -= sellen-sln;to eliminate unsigned underflow.adjustprplistto only add/subtract when safe and to clamp entries to zero when necessary to avoid underflow in poplist maintenance.SCI_REPLACETARGETsites inSRC/NPPTextFX.cppand confirmed the block-mode loop was the sole pointer-dereference hotspot requiring change.Testing
SCI_REPLACETARGEToccurrences withrg -n "SCI_REPLACETARGET" SRC/NPPTextFX.cppand contextualized each hit withnl/sed; checks succeeded.patched) and resulting diff withgit diff --stat; verification succeeded.git show --stat --oneline; commit succeeded.Codex Task