Fix CVE-2014-9456 (but it's not a "Security Vulnerability")

Fix Notepad++ Debug binary crash issue while opening some special files (crash after some "Assertion fail" message boxes).
Only the Debug binary is impacted. There's no issue for the release binary, so it's not a "security vulnerability".

Also there's no buffer overflow as the description in CVE-2014-9456.

Fix #12669
pull/15602/head
Don Ho 3 months ago
parent a866900c8d
commit a9b5235402

@ -3497,12 +3497,12 @@ void Notepad_plus::addHotSpot(ScintillaEditView* view)
pView->execute(SCI_INDICATORCLEARRANGE, startEncoded + startPos, lenEncoded); pView->execute(SCI_INDICATORCLEARRANGE, startEncoded + startPos, lenEncoded);
startWide += lenWide; startWide += lenWide;
startEncoded += lenEncoded; startEncoded += lenEncoded;
if ((startWide >= wideTextLen) || ((startEncoded + startPos) >= endPos)) if ((startWide >= wideTextLen) || ((startEncoded + startPos) >= endPos))
break; break;
} }
assert ((startEncoded + startPos) == endPos);
assert (startWide == wideTextLen);
} }
delete[] wideText; delete[] wideText;
} }

@ -27,8 +27,8 @@ public:
~FunctionCallTip() {/* cleanup(); */}; ~FunctionCallTip() {/* cleanup(); */};
void setLanguageXML(TiXmlElement * pXmlKeyword); //set calltip keyword node void setLanguageXML(TiXmlElement * pXmlKeyword); //set calltip keyword node
bool updateCalltip(int ch, bool needShown = false); //Ch is character typed, or 0 if another event occured. NeedShown is true if calltip should be attempted to displayed. Return true if calltip was made visible bool updateCalltip(int ch, bool needShown = false); //Ch is character typed, or 0 if another event occured. NeedShown is true if calltip should be attempted to displayed. Return true if calltip was made visible
void showNextOverload(); //show next overlaoded parameters void showNextOverload(); //show next overloaded parameters
void showPrevOverload(); //show prev overlaoded parameters void showPrevOverload(); //show prev overloaded parameters
bool isVisible() { return _pEditView?_pEditView->execute(SCI_CALLTIPACTIVE) == TRUE:false; }; //true if calltip visible bool isVisible() { return _pEditView?_pEditView->execute(SCI_CALLTIPACTIVE) == TRUE:false; }; //true if calltip visible
void close(); //Close calltip if visible void close(); //Close calltip if visible

Loading…
Cancel
Save