From 1c59d78cde9fcb8a43d7ff75db5d6fcf5f3c1d53 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Thu, 9 Aug 2012 10:34:50 +0100
Subject: [PATCH] valgrind: use after free
i.e. since b35980d9b
seems remove, remove, delete was old pattern, new patterns ended up
as remove+delete, remove. Reorder to remove, remove+delete
Change-Id: I54ec8d0296e751110c516516465be2ac0615f6a1
(cherry picked from commit 069caf79d716ba73d3281beb13fa2af67cac24f9)
Signed-off-by: David Tardon <dtardon@redhat.com>
---
editeng/source/editeng/editdoc.cxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx
index 110daf5..b062114 100644
--- a/editeng/source/editeng/editdoc.cxx
+++ b/editeng/source/editeng/editdoc.cxx
@@ -2693,8 +2693,8 @@ void CharAttribList::OptimizeRanges( SfxItemPool& rItemPool )
if (*rNext.GetItem() == *rAttr.GetItem())
{
rAttr.GetEnd() = rNext.GetEnd();
- aAttribs.erase(aAttribs.begin()+nNext);
rItemPool.Remove(*rNext.GetItem());
+ aAttribs.erase(aAttribs.begin()+nNext);
}
break; // only 1 attr with same which can start here.
}
--
1.8.1