kbrown / rpms / libreoffice

Forked from rpms/libreoffice 2 years ago
Clone

Blame SOURCES/0029-fdo-81470-Fix-a-crasher-during-xlsx-export-with-revi.patch

f085be
From c7727b1c1682a1373668c898a2de1b1627a09d8c Mon Sep 17 00:00:00 2001
f085be
From: Kohei Yoshida <kohei.yoshida@collabora.com>
f085be
Date: Thu, 17 Jul 2014 15:52:52 -0400
f085be
Subject: [PATCH 029/137] fdo#81470: Fix a crasher during xlsx export with
f085be
 revisions.
f085be
f085be
Calling Undo() here removes revision entries which also removes formula
f085be
cell instances stored in the entries.  The problem is that the
f085be
XclExpChTrCellContent instances store pointers to these formula instances
f085be
for later use, and removing the entries at this location causes deleted
f085be
formula instances to get accessed which in turn causes segfault.
f085be
f085be
Since all revision entries get deleted when the temp change track instance
f085be
gets deleted at the end of the revision export, not deleting the entries
f085be
here will not cause memory leaks.
f085be
f085be
Change-Id: I85f8064945a841b684e4fc4a97c3f9bb6a2de353
f085be
(cherry picked from commit 3bce16799c34d0b28704c43eae77501c0f6aec1e)
f085be
Reviewed-on: https://gerrit.libreoffice.org/10371
f085be
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
f085be
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
f085be
---
f085be
 sc/source/filter/xcl97/XclExpChangeTrack.cxx | 1 -
f085be
 1 file changed, 1 deletion(-)
f085be
f085be
diff --git a/sc/source/filter/xcl97/XclExpChangeTrack.cxx b/sc/source/filter/xcl97/XclExpChangeTrack.cxx
f085be
index 7033b3e..4589aea 100644
f085be
--- a/sc/source/filter/xcl97/XclExpChangeTrack.cxx
f085be
+++ b/sc/source/filter/xcl97/XclExpChangeTrack.cxx
f085be
@@ -1443,7 +1443,6 @@ XclExpChangeTrack::XclExpChangeTrack( const XclExpRoot& rRoot ) :
f085be
     {
f085be
         PushActionRecord( *pScAction );
f085be
         const ScChangeAction* pPrevAction = pScAction->GetPrev();
f085be
-        pTempChangeTrack->Undo( pScAction->GetActionNumber(), pScAction->GetActionNumber() );
f085be
         pScAction = pPrevAction;
f085be
     }
f085be
 
f085be
-- 
f085be
1.9.3
f085be