new version

This commit is contained in:
David Tardon 2013-01-28 15:48:46 +01:00
parent 310b760ac2
commit 6aaddd1cf8
4 changed files with 42 additions and 75 deletions

View File

@ -0,0 +1,33 @@
From fabf05464f137875a5ee74fcc21938161ecca077 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Fri, 25 Jan 2013 12:25:36 +0100
Subject: [PATCH] Handle correctly negative angles in ellipse
---
src/lib/CDRParser.cpp | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/lib/CDRParser.cpp b/src/lib/CDRParser.cpp
index c30d987..a76a0a6 100644
--- a/src/lib/CDRParser.cpp
+++ b/src/lib/CDRParser.cpp
@@ -1186,6 +1186,16 @@ void libcdr::CDRParser::readEllipse(WPXInputStream *input)
double rx = fabs(cx);
double ry = fabs(cy);
+ while (angle1 < 0.0)
+ angle1 += 2*M_PI;
+ while (angle1 > 2*M_PI)
+ angle1 -= 2*M_PI;
+
+ while (angle2 < 0.0)
+ angle2 += 2*M_PI;
+ while (angle2 > 2*M_PI)
+ angle2 -= 2*M_PI;
+
if (angle1 != angle2)
{
if (angle2 < angle1)
--
1.7.11.7

View File

@ -1,35 +0,0 @@
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

View File

@ -1,35 +0,0 @@
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

View File

@ -1,17 +1,17 @@
Name: libcdr
Version: 0.0.9
Release: 2%{?dist}
Version: 0.0.10
Release: 1%{?dist}
Summary: A library providing ability to interpret and import Corel Draw drawings
Group: System Environment/Libraries
License: GPLv2+ or LGPLv2+ or MPLv1.1
URL: http://www.freedesktop.org/wiki/Software/libcdr
Source: http://dev-www.libreoffice.org/src/%{name}-%{version}.tar.xz
Patch0: 0001-coverity-do-not-let-CDRDocument-parse-throw.patch
Patch1: 0001-coverity-do-not-let-CMXDocument-isSupported-throw.patch
Patch0: 0001-Handle-correctly-negative-angles-in-ellipse.patch
BuildRequires: doxygen
BuildRequires: lcms2-devel
BuildRequires: libicu-devel
BuildRequires: libwpd-devel
BuildRequires: libwpg-devel
BuildRequires: zlib-devel
@ -51,10 +51,11 @@ Currently supported: XHTML, raw.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
# rhbz#856594
export ICU_CFLAGS=`icu-config --cppflags`
%configure --disable-static --disable-werror
sed -i \
-e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
@ -99,6 +100,9 @@ rm -f %{buildroot}/%{_bindir}/cmx2*
%changelog
* Mon Jan 28 2013 David Tardon <dtardon@redhat.com> - 0.0.10-1
- new release
* Tue Jan 08 2013 David Tardon <dtardon@redhat.com> - 0.0.9-2
- Resolves: rhbz#891082 libreoffice Impress constantly crashes