src/fuzz/pubfuzzer.cpp | 8 ++++---- src/lib/MSPUBParser.cpp | 24 +++++++++--------------- src/lib/PolygonUtils.cpp | 2 +- 3 files changed, 14 insertions(+), 20 deletions(-)
New commits: commit 79ef317f2a2ed73723c685dff61437b908779f9f Author: David Tardon <[email protected]> Date: Wed Mar 29 21:48:53 2017 +0200 astyle Change-Id: I1ee2f184961cc2350acc47ea13bbc2aec4f0f35f diff --git a/src/fuzz/pubfuzzer.cpp b/src/fuzz/pubfuzzer.cpp index 7a9ab5f..17ad8ec 100644 --- a/src/fuzz/pubfuzzer.cpp +++ b/src/fuzz/pubfuzzer.cpp @@ -18,10 +18,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - librevenge::RVNGStringStream input(data, size); - librevenge::RVNGRawDrawingGenerator generator(true); - libmspub::MSPUBDocument::parse(&input, &generator); - return 0; + librevenge::RVNGStringStream input(data, size); + librevenge::RVNGRawDrawingGenerator generator(true); + libmspub::MSPUBDocument::parse(&input, &generator); + return 0; } /* vim:set shiftwidth=2 softtabstop=2 expandtab: */ diff --git a/src/lib/PolygonUtils.cpp b/src/lib/PolygonUtils.cpp index 9ef8466..5ea0c3f 100644 --- a/src/lib/PolygonUtils.cpp +++ b/src/lib/PolygonUtils.cpp @@ -2223,7 +2223,7 @@ const CustomShape CS_HOME_PLATE( const Vertex ARROW_VERTICES[] = { - {0, CALCULATED_VALUE(0)}, {CALCULATED_VALUE(1), CALCULATED_VALUE(0) }, {CALCULATED_VALUE(1) , 0}, {21600, 10800}, {CALCULATED_VALUE(1) , 21600}, {CALCULATED_VALUE(1) , CALCULATED_VALUE(2) }, {0, CALCULATED_VALUE(2) } + {0, CALCULATED_VALUE(0)}, {CALCULATED_VALUE(1), CALCULATED_VALUE(0) }, {CALCULATED_VALUE(1), 0}, {21600, 10800}, {CALCULATED_VALUE(1), 21600}, {CALCULATED_VALUE(1), CALCULATED_VALUE(2) }, {0, CALCULATED_VALUE(2) } }; const unsigned short ARROW_SEGMENTS[] = commit 4fcf4c65e9a9c059ae1664c16ccf0a848a5d1b00 Author: David Tardon <[email protected]> Date: Wed Mar 29 21:48:02 2017 +0200 avoid leak even if an exception is thrown Change-Id: Ia1e798defd622cb19b3abaab1bd2ee7a512fc486 diff --git a/src/lib/MSPUBParser.cpp b/src/lib/MSPUBParser.cpp index 9c746d7..992d62d 100644 --- a/src/lib/MSPUBParser.cpp +++ b/src/lib/MSPUBParser.cpp @@ -16,6 +16,7 @@ #include <string.h> #include <boost/numeric/conversion/cast.hpp> +#include <boost/scoped_ptr.hpp> #include <librevenge-stream/librevenge-stream.h> #include <zlib.h> @@ -126,51 +127,44 @@ bool MSPUBParser::parse() return false; // No check: metadata are not important enough to fail if they can't be parsed parseMetaData(); - librevenge::RVNGInputStream *quill = m_input->getSubStreamByName("Quill/QuillSub/CONTENTS"); + boost::scoped_ptr<librevenge::RVNGInputStream> quill(m_input->getSubStreamByName("Quill/QuillSub/CONTENTS")); if (!quill) { MSPUB_DEBUG_MSG(("Couldn't get quill stream.\n")); return false; } - if (!parseQuill(quill)) + if (!parseQuill(quill.get())) { MSPUB_DEBUG_MSG(("Couldn't parse quill stream.\n")); - delete quill; return false; } - delete quill; - librevenge::RVNGInputStream *contents = m_input->getSubStreamByName("Contents"); + boost::scoped_ptr<librevenge::RVNGInputStream> contents(m_input->getSubStreamByName("Contents")); if (!contents) { MSPUB_DEBUG_MSG(("Couldn't get contents stream.\n")); return false; } - if (!parseContents(contents)) + if (!parseContents(contents.get())) { MSPUB_DEBUG_MSG(("Couldn't parse contents stream.\n")); - delete contents; return false; } - delete contents; - librevenge::RVNGInputStream *escherDelay = m_input->getSubStreamByName("Escher/EscherDelayStm"); + boost::scoped_ptr<librevenge::RVNGInputStream> escherDelay(m_input->getSubStreamByName("Escher/EscherDelayStm")); if (escherDelay) { - parseEscherDelay(escherDelay); - delete escherDelay; + parseEscherDelay(escherDelay.get()); } - librevenge::RVNGInputStream *escher = m_input->getSubStreamByName("Escher/EscherStm"); + boost::scoped_ptr<librevenge::RVNGInputStream> escher(m_input->getSubStreamByName("Escher/EscherStm")); if (!escher) { MSPUB_DEBUG_MSG(("Couldn't get escher stream.\n")); return false; } - if (!parseEscher(escher)) + if (!parseEscher(escher.get())) { MSPUB_DEBUG_MSG(("Couldn't parse escher stream.\n")); - delete escher; return false; } - delete escher; return m_collector->go(); } _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
