parent
e71f9df14f
commit
8a6526cc9e
@ -0,0 +1,30 @@
|
||||
From a65eb81c5e9d9da0548eb9066f9dde77a7328cc3 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Sat, 20 Dec 2014 18:35:36 +0100
|
||||
Subject: [PATCH] coverity#1259904 dereference before null check
|
||||
|
||||
Change-Id: If53074b31a821b0764acc9e9f1b0f9d7894e2e5e
|
||||
---
|
||||
src/lib/ABWParser.cpp | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/lib/ABWParser.cpp b/src/lib/ABWParser.cpp
|
||||
index cf914bf..426ab54 100644
|
||||
--- a/src/lib/ABWParser.cpp
|
||||
+++ b/src/lib/ABWParser.cpp
|
||||
@@ -338,9 +338,11 @@ void libabw::ABWParser::readAbiword(xmlTextReaderPtr reader)
|
||||
void libabw::ABWParser::readM(xmlTextReaderPtr reader)
|
||||
{
|
||||
xmlChar *const key = xmlTextReaderGetAttribute(reader, BAD_CAST("key"));
|
||||
- m_state->m_currentMetadataKey = reinterpret_cast<const char *>(key);
|
||||
if (key)
|
||||
+ {
|
||||
+ m_state->m_currentMetadataKey = reinterpret_cast<const char *>(key);
|
||||
xmlFree(key);
|
||||
+ }
|
||||
}
|
||||
|
||||
void libabw::ABWParser::readHistory(xmlTextReaderPtr reader)
|
||||
--
|
||||
2.3.5
|
||||
|
@ -0,0 +1,38 @@
|
||||
From 2f372e8adf8e6b1f8cf70f08adddcf66be54d94a Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Sat, 20 Dec 2014 18:40:45 +0100
|
||||
Subject: [PATCH] coverity#1259905 do not let AbiDocument::parse throw
|
||||
|
||||
This also fixes coverity#1259906 and coverity#1259907 .
|
||||
|
||||
Change-Id: I55d892517ac93ca43478d51d8e4a20c704ff6790
|
||||
---
|
||||
src/lib/AbiDocument.cpp | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/lib/AbiDocument.cpp b/src/lib/AbiDocument.cpp
|
||||
index b8ab661..23ff750 100644
|
||||
--- a/src/lib/AbiDocument.cpp
|
||||
+++ b/src/lib/AbiDocument.cpp
|
||||
@@ -110,7 +110,7 @@ is not protected
|
||||
\return A value that indicates whether the conversion was successful and in case it
|
||||
was not, it indicates the reason of the error
|
||||
*/
|
||||
-ABWAPI bool libabw::AbiDocument::parse(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *textInterface)
|
||||
+ABWAPI bool libabw::AbiDocument::parse(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *textInterface) try
|
||||
{
|
||||
ABW_DEBUG_MSG(("AbiDocument::parse\n"));
|
||||
if (!input)
|
||||
@@ -122,4 +122,9 @@ ABWAPI bool libabw::AbiDocument::parse(librevenge::RVNGInputStream *input, libre
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
+catch (...)
|
||||
+{
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
|
||||
--
|
||||
2.3.5
|
||||
|
Loading…
Reference in new issue