Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(664)

Unified Diff: xfa/fee/fde_txtedtengine.cpp

Issue 1925363002: Do not check pointers before deleting them. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « xfa/fde/fde_render.cpp ('k') | xfa/fee/fde_txtedtpage.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: xfa/fee/fde_txtedtengine.cpp
diff --git a/xfa/fee/fde_txtedtengine.cpp b/xfa/fee/fde_txtedtengine.cpp
index 98d7841b40d1ae0802ce669cb9b4aba867f73497..1dc03dcc850a37bfe260ab53f7695a591ebd85f9 100644
--- a/xfa/fee/fde_txtedtengine.cpp
+++ b/xfa/fee/fde_txtedtengine.cpp
@@ -627,22 +627,16 @@ int32_t CFDE_TxtEdtEngine::GetSelRange(int32_t nIndex, int32_t& nStart) {
nStart = m_SelRangePtrArr[nIndex]->nStart;
return m_SelRangePtrArr[nIndex]->nCount;
}
+
void CFDE_TxtEdtEngine::ClearSelection() {
int32_t nCount = m_SelRangePtrArr.GetSize();
- FDE_LPTXTEDTSELRANGE lpRange = NULL;
- int32_t i = 0;
- for (i = 0; i < nCount; i++) {
- lpRange = m_SelRangePtrArr[i];
- if (lpRange != NULL) {
- delete lpRange;
- lpRange = NULL;
- }
- }
+ for (int i = 0; i < nCount; ++i)
+ delete m_SelRangePtrArr[i];
m_SelRangePtrArr.RemoveAll();
- if (nCount && m_Param.pEventSink) {
+ if (nCount && m_Param.pEventSink)
m_Param.pEventSink->On_SelChanged(this);
- }
}
+
FX_BOOL CFDE_TxtEdtEngine::Redo(const CFX_ByteStringC& bsRedo) {
if (IsLocked()) {
return FALSE;
@@ -906,8 +900,7 @@ void CFDE_TxtEdtEngine::Inner_DeleteRange(int32_t nStart, int32_t nCount) {
? ParagPosBgn.nParagIndex
: (ParagPosBgn.nParagIndex + 1);
for (i = nNextParagIndex; i <= ParagPosEnd.nParagIndex; i++) {
- CFDE_TxtEdtParag* pParag = m_ParagPtrArray[nNextParagIndex];
- delete pParag;
+ delete m_ParagPtrArray[nNextParagIndex];
m_ParagPtrArray.RemoveAt(nNextParagIndex);
}
if (!(bLastParag && ParagPosBgn.nCharIndex == 0)) {
@@ -980,17 +973,14 @@ void CFDE_TxtEdtEngine::RebuildParagraphs() {
} while (pIter->Next());
pIter->Release();
}
+
void CFDE_TxtEdtEngine::RemoveAllParags() {
int32_t nCount = m_ParagPtrArray.GetSize();
- int32_t i = 0;
- for (i = 0; i < nCount; i++) {
- CFDE_TxtEdtParag* pParag = m_ParagPtrArray[i];
- if (pParag) {
- delete pParag;
- }
- }
+ for (int i = 0; i < nCount; ++i)
+ delete m_ParagPtrArray[i];
m_ParagPtrArray.RemoveAll();
}
+
void CFDE_TxtEdtEngine::RemoveAllPages() {
int32_t nCount = m_PagePtrArray.GetSize();
int32_t i = 0;
@@ -1610,8 +1600,7 @@ void CFDE_TxtEdtEngine::DeleteSelect() {
int32_t nSelCount;
while (nCountRange > 0) {
nSelCount = GetSelRange(--nCountRange, nSelStart);
- FDE_LPTXTEDTSELRANGE lpTemp = m_SelRangePtrArr[nCountRange];
- delete lpTemp;
+ delete m_SelRangePtrArr[nCountRange];
m_SelRangePtrArr.RemoveAt(nCountRange);
DeleteRange_DoRecord(nSelStart, nSelCount, TRUE);
}
@@ -1622,6 +1611,7 @@ void CFDE_TxtEdtEngine::DeleteSelect() {
return;
}
}
+
IFDE_TxtEdtDoRecord* IFDE_TxtEdtDoRecord::Create(
const CFX_ByteStringC& bsDoRecord) {
const FX_CHAR* lpBuf = bsDoRecord.c_str();
@@ -1632,10 +1622,10 @@ IFDE_TxtEdtDoRecord* IFDE_TxtEdtDoRecord::Create(
case FDE_TXTEDT_DORECORD_DEL:
return new CFDE_TxtEdtDoRecord_DeleteRange(bsDoRecord);
default:
- break;
+ return nullptr;
}
- return NULL;
}
+
CFDE_TxtEdtDoRecord_Insert::CFDE_TxtEdtDoRecord_Insert(
const CFX_ByteStringC& bsDoRecord) {
Deserialize(bsDoRecord);
« no previous file with comments | « xfa/fde/fde_render.cpp ('k') | xfa/fee/fde_txtedtpage.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698