parent
193c49453e
commit
310b760ac2
@ -0,0 +1,35 @@
|
|||||||
|
From 625677ba4ec9f0b0bb930fcefab5b7fc91b9bae8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Tardon <dtardon@redhat.com>
|
||||||
|
Date: Thu, 13 Dec 2012 12:49:19 +0100
|
||||||
|
Subject: [PATCH] coverity: do not let CDRDocument::parse throw
|
||||||
|
|
||||||
|
---
|
||||||
|
src/lib/CDRDocument.cpp | 12 +++++++++++-
|
||||||
|
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/lib/CDRDocument.cpp b/src/lib/CDRDocument.cpp
|
||||||
|
index 4a75389..2633954 100644
|
||||||
|
--- a/src/lib/CDRDocument.cpp
|
||||||
|
+++ b/src/lib/CDRDocument.cpp
|
||||||
|
@@ -129,7 +129,17 @@ bool libcdr::CDRDocument::parse(::WPXInputStream *input, libwpg::WPGPaintInterfa
|
||||||
|
{
|
||||||
|
input->seek(0, WPX_SEEK_SET);
|
||||||
|
bool retVal = false;
|
||||||
|
- unsigned version = getCDRVersion(input);
|
||||||
|
+ unsigned version = 0;
|
||||||
|
+ try
|
||||||
|
+ {
|
||||||
|
+ version = getCDRVersion(input);
|
||||||
|
+ }
|
||||||
|
+ catch (libcdr::EndOfStreamException const&)
|
||||||
|
+ {
|
||||||
|
+ // This can only happen if isSupported() has not been called before
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (version)
|
||||||
|
{
|
||||||
|
input->seek(0, WPX_SEEK_SET);
|
||||||
|
--
|
||||||
|
1.8.0.1
|
||||||
|
|
@ -0,0 +1,35 @@
|
|||||||
|
From c21b18b668b9efc0dc14257e1e43a85c1ccea807 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Tardon <dtardon@redhat.com>
|
||||||
|
Date: Thu, 13 Dec 2012 12:13:14 +0100
|
||||||
|
Subject: [PATCH] coverity: do not let CMXDocument::isSupported throw
|
||||||
|
|
||||||
|
---
|
||||||
|
src/lib/CMXDocument.cpp | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/lib/CMXDocument.cpp b/src/lib/CMXDocument.cpp
|
||||||
|
index 35d361d..9845552 100644
|
||||||
|
--- a/src/lib/CMXDocument.cpp
|
||||||
|
+++ b/src/lib/CMXDocument.cpp
|
||||||
|
@@ -45,6 +45,7 @@ Analyzes the content of an input stream to see if it can be parsed
|
||||||
|
stream is a Corel Draw Document that libcdr is able to parse
|
||||||
|
*/
|
||||||
|
bool libcdr::CMXDocument::isSupported(WPXInputStream *input)
|
||||||
|
+try
|
||||||
|
{
|
||||||
|
input->seek(0, WPX_SEEK_SET);
|
||||||
|
unsigned riff = readU32(input);
|
||||||
|
@@ -62,6 +63,10 @@ bool libcdr::CMXDocument::isSupported(WPXInputStream *input)
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
+catch (...)
|
||||||
|
+{
|
||||||
|
+ return false;
|
||||||
|
+}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Parses the input stream content. It will make callbacks to the functions provided by a
|
||||||
|
--
|
||||||
|
1.8.0.1
|
||||||
|
|
Loading…
Reference in new issue