backport crash fix

This commit is contained in:
Rex Dieter 2020-02-17 11:28:14 -06:00
parent 48b5a0f538
commit 4e07bafb07
2 changed files with 52 additions and 2 deletions

View File

@ -0,0 +1,43 @@
From 590681e546cd9aa18d57dc2ea1858cb734a3863f Mon Sep 17 00:00:00 2001
From: Dave Beckett <dave@dajobe.org>
Date: Sun, 16 Apr 2017 23:15:12 +0100
Subject: [PATCH] Calcualte max nspace declarations correctly for XML writer
(raptor_xml_writer_start_element_common): Calculate max including for
each attribute a potential name and value.
Fixes Issues #0000617 http://bugs.librdf.org/mantis/view.php?id=617
and #0000618 http://bugs.librdf.org/mantis/view.php?id=618
---
src/raptor_xml_writer.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/raptor_xml_writer.c b/src/raptor_xml_writer.c
index 693b946..0d3a36a 100644
--- a/src/raptor_xml_writer.c
+++ b/src/raptor_xml_writer.c
@@ -181,9 +181,10 @@ raptor_xml_writer_start_element_common(raptor_xml_writer* xml_writer,
size_t nspace_declarations_count = 0;
unsigned int i;
- /* max is 1 per element and 1 for each attribute + size of declared */
if(nstack) {
- int nspace_max_count = element->attribute_count+1;
+ int nspace_max_count = element->attribute_count * 2; /* attr and value */
+ if(element->name->nspace)
+ nspace_max_count++;
if(element->declared_nspaces)
nspace_max_count += raptor_sequence_size(element->declared_nspaces);
if(element->xml_language)
@@ -237,7 +238,7 @@ raptor_xml_writer_start_element_common(raptor_xml_writer* xml_writer,
}
}
- /* Add the attribute + value */
+ /* Add the attribute's value */
nspace_declarations[nspace_declarations_count].declaration=
raptor_qname_format_as_xml(element->attributes[i],
&nspace_declarations[nspace_declarations_count].length);
--
2.9.3

View File

@ -2,12 +2,16 @@
Summary: RDF Parser Toolkit for Redland
Name: raptor2
Version: 2.0.15
Release: 21%{?dist}
Release: 22%{?dist}
License: GPLv2+ or LGPLv2+ or ASL 2.0
Source: http://download.librdf.org/source/raptor2-%{version}.tar.gz
URL: http://librdf.org/raptor/
## upstream patches
# https://github.com/dajobe/raptor/commit/590681e546cd9aa18d57dc2ea1858cb734a3863f
Patch1: 0001-Calcualte-max-nspace-declarations-correctly-for-XML-.patch
## upstreamable patches
BuildRequires: gcc-c++
@ -33,7 +37,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
%prep
%setup -q
%autosetup -p1
# hack to nuke rpaths
%if "%{_libdir}" != "/usr/lib"
@ -84,6 +88,9 @@ make check
%changelog
* Mon Feb 17 2020 Rex Dieter <rdieter@fedoraproject.org> - 2.0.15-22
- backport crash fix
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.15-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild