summaryrefslogtreecommitdiff
path: root/rsvg/tests/fixtures/render-crash
diff options
context:
space:
mode:
Diffstat (limited to 'rsvg/tests/fixtures/render-crash')
-rw-r--r--rsvg/tests/fixtures/render-crash/PixelRectangle-duplicate-crash.svg7
-rw-r--r--rsvg/tests/fixtures/render-crash/bug187-set-gradient-on-empty-path.svg13
-rw-r--r--rsvg/tests/fixtures/render-crash/bug193-filters-conv-05-f.svg83
-rw-r--r--rsvg/tests/fixtures/render-crash/bug227-negative-dasharray-value.svg3
-rw-r--r--rsvg/tests/fixtures/render-crash/bug266-filters-with-error-attributes.svg187
-rw-r--r--rsvg/tests/fixtures/render-crash/bug277-filter-on-empty-group.svg312
-rw-r--r--rsvg/tests/fixtures/render-crash/bug292-clip-empty-group.svg11
-rw-r--r--rsvg/tests/fixtures/render-crash/bug293-mask-empty-group.svg11
-rw-r--r--rsvg/tests/fixtures/render-crash/bug324-empty-svg.svg3
-rw-r--r--rsvg/tests/fixtures/render-crash/bug337-font-ex.svg9
-rw-r--r--rsvg/tests/fixtures/render-crash/bug338-zero-sized-image.svg3
-rw-r--r--rsvg/tests/fixtures/render-crash/bug340-marker-with-zero-sized-vbox.svg4
-rw-r--r--rsvg/tests/fixtures/render-crash/bug342-use-references-ancestor.svg5
-rw-r--r--rsvg/tests/fixtures/render-crash/bug343-feComponentTransfer-child-in-error.svg9
-rw-r--r--rsvg/tests/fixtures/render-crash/bug344-too-large-viewbox.svg1
-rw-r--r--rsvg/tests/fixtures/render-crash/bug345-too-large-size.svg3
-rw-r--r--rsvg/tests/fixtures/render-crash/bug395-feMorphology-negative-scaling.svg28
-rw-r--r--rsvg/tests/fixtures/render-crash/bug497-path-with-all-invalid-commands.svg13
-rw-r--r--rsvg/tests/fixtures/render-crash/bug581491-zero-sized-text.svg20
-rw-r--r--rsvg/tests/fixtures/render-crash/bug588-big-viewbox-yields-invalid-transform.svg23
-rw-r--r--rsvg/tests/fixtures/render-crash/bug591-vbox-overflow.svg11
-rw-r--r--rsvg/tests/fixtures/render-crash/bug593-mask-empty-bbox.svg10
-rw-r--r--rsvg/tests/fixtures/render-crash/bug721-pattern-cycle-from-child.svg7
-rw-r--r--rsvg/tests/fixtures/render-crash/bug721-pattern-cycle-from-other-child.svg10
-rw-r--r--rsvg/tests/fixtures/render-crash/bug777155-zero-sized-pattern.svg52
-rw-r--r--rsvg/tests/fixtures/render-crash/bug928-empty-feTile-bounds.svg12
-rw-r--r--rsvg/tests/fixtures/render-crash/bug932-too-big-font-size.svg9
-rw-r--r--rsvg/tests/fixtures/render-crash/feMerge-color-interpolation-srgb.svg47
-rw-r--r--rsvg/tests/fixtures/render-crash/filters-non-invertible-paffine.svg7
-rw-r--r--rsvg/tests/fixtures/render-crash/gradient-with-empty-bbox.svg14
-rw-r--r--rsvg/tests/fixtures/render-crash/gradient-with-no-children.svg11
-rw-r--r--rsvg/tests/fixtures/render-crash/pattern-with-empty-bbox.svg16
-rw-r--r--rsvg/tests/fixtures/render-crash/pattern-with-no-children.svg13
-rw-r--r--rsvg/tests/fixtures/render-crash/recursive-feimage.svg13
34 files changed, 980 insertions, 0 deletions
diff --git a/rsvg/tests/fixtures/render-crash/PixelRectangle-duplicate-crash.svg b/rsvg/tests/fixtures/render-crash/PixelRectangle-duplicate-crash.svg
new file mode 100644
index 00000000..7919be95
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/PixelRectangle-duplicate-crash.svg
@@ -0,0 +1,7 @@
+<svg>
+ <filter id="f">
+ <feConvolveMatrix kernelMatrix="0 0 0 0-0 0 0 0 0"/>
+ </filter>
+
+ <rect width="1" height="1" filter="url(#f)"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug187-set-gradient-on-empty-path.svg b/rsvg/tests/fixtures/render-crash/bug187-set-gradient-on-empty-path.svg
new file mode 100644
index 00000000..d6b7f65b
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug187-set-gradient-on-empty-path.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ width="10" height="10">
+ <defs>
+ <linearGradient id="grad"/>
+ <g id="path">
+ <path d=""/>
+ </g>
+ </defs>
+ <g>
+ <use style="fill:url(#grad)" xlink:href="#path"/>
+ </g>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug193-filters-conv-05-f.svg b/rsvg/tests/fixtures/render-crash/bug193-filters-conv-05-f.svg
new file mode 100644
index 00000000..b60f774e
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug193-filters-conv-05-f.svg
@@ -0,0 +1,83 @@
+<svg id="svg-root" width="100%" height="100%"
+ viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink">
+ <!--======================================================================-->
+ <!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
+ <!--= Institute of Technology, European Research Consortium for =-->
+ <!--= Informatics and Mathematics (ERCIM), Keio University). =-->
+ <!--= All Rights Reserved. =-->
+ <!--= See http://www.w3.org/Consortium/Legal/. =-->
+ <!--======================================================================-->
+ <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+ template-version="1.3" reviewer="CM" author="ED" status="created"
+ version="$Revision: 1.2 $" testname="$RCSfile: filters-conv-05-f.svg,v $">
+ <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feConvolveMatrixElementOrderAttribute">
+ <p>
+ Tests feConvolveMatrix and the 'edgeMode' attribute.
+ </p>
+ </d:testDescription>
+ <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+ <p>
+ Run the test. No interaction required.
+ </p>
+ </d:operatorScript>
+ <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+ <p>
+ You should see three filtered images, each result should be slightly different, if they all look the same the test has failed.
+ The rendered picture should match the reference image.
+ </p>
+ </d:passCriteria>
+ </d:SVGTestCase>
+ <title id="test-title">$RCSfile: filters-conv-05-f.svg,v $</title>
+ <defs>
+ <font-face
+ font-family="SVGFreeSansASCII"
+ unicode-range="U+0-7F">
+ <font-face-src>
+ <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+ </font-face-src>
+ </font-face>
+ </defs>
+ <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+ <defs>
+ <filter id="emNone" filterUnits="objectBoundingBox" primitiveUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+ <feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false" edgeMode="none"/>
+ </filter>
+ <filter id="emWrap" filterUnits="objectBoundingBox" primitiveUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+ <feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false" edgeMode="wrap"/>
+ </filter>
+ <filter id="emDuplicate" filterUnits="objectBoundingBox" primitiveUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+ <feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false" edgeMode="duplicate"/>
+ </filter>
+
+ <g id="box">
+ <rect width="10" height="100" fill="blue"/>
+ <rect x="10" width="100" height="10" fill="yellow"/>
+ <rect x="110" width="10" height="100" fill="lime"/>
+ <rect x="10" y="90" width="100" height="10" fill="black"/>
+ </g>
+ </defs>
+
+ <text x="50%" y="3em" style="font-size:18px; text-anchor:middle">feConvolveMatrix 'edgeMode'</text>
+
+ <use xlink:href="#box" filter="url(#emNone)" transform="translate(40 100)"/>
+ <text x="100" y="220" font-size="14" text-anchor="middle">none</text>
+
+ <use xlink:href="#box" filter="url(#emWrap)" transform="translate(180 100)"/>
+ <text x="240" y="220" font-size="14" text-anchor="middle">wrap</text>
+
+ <use xlink:href="#box" filter="url(#emDuplicate)" transform="translate(320 100)"/>
+ <text x="380" y="220" font-size="14" text-anchor="middle">duplicate</text>
+ </g>
+ <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+ <text id="revision" x="10" y="340" stroke="none"
+ fill="black">$Revision: 1.2 $</text>
+ </g>
+ <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+ <!-- comment out this watermark once the test is approved -->
+ <g id="draft-watermark">
+ <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+ <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+ text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+ </g>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug227-negative-dasharray-value.svg b/rsvg/tests/fixtures/render-crash/bug227-negative-dasharray-value.svg
new file mode 100644
index 00000000..3abee723
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug227-negative-dasharray-value.svg
@@ -0,0 +1,3 @@
+<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
+ <rect x="10" y="10" width="90" height="90" fill="none" stroke="black" stroke-dasharray="20,40,-20"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug266-filters-with-error-attributes.svg b/rsvg/tests/fixtures/render-crash/bug266-filters-with-error-attributes.svg
new file mode 100644
index 00000000..34654903
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug266-filters-with-error-attributes.svg
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="64"
+ height="64"
+ id="svg2463"
+ sodipodi:version="0.32"
+ inkscape:version="0.47 r22583"
+ version="1.0"
+ sodipodi:docname="star.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs2465">
+ <linearGradient
+ id="linearGradient3596">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3598" />
+ <stop
+ id="stop3604"
+ offset="0.35157821"
+ style="stop-color:#ffffff;stop-opacity:0.82681566;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="1"
+ id="stop3600" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3262">
+ <stop
+ style="stop-color:#f5f5f5;stop-opacity:0.22680412;"
+ offset="0"
+ id="stop3264" />
+ <stop
+ style="stop-color:#f5f5f5;stop-opacity:0.96078432;"
+ offset="1"
+ id="stop3266" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3751"
+ inkscape:collect="always">
+ <stop
+ id="stop3753"
+ offset="0"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ id="stop3755"
+ offset="1"
+ style="stop-color:black;stop-opacity:0;" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective2471" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3751"
+ id="linearGradient3272"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.3868046,0,0,0.3868046,40.335717,481.59837)"
+ x1="665.12128"
+ y1="684.16162"
+ x2="381.28015"
+ y2="449.80624" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3751"
+ id="linearGradient2406"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.3868046,0,0,0.3868046,43.114888,485.8841)"
+ x1="665.12128"
+ y1="684.16162"
+ x2="381.28015"
+ y2="449.80624" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3596"
+ id="radialGradient3602"
+ cx="31.851444"
+ cy="31.795218"
+ fx="31.851444"
+ fy="31.795218"
+ r="30.551558"
+ gradientTransform="matrix(1,0,0,0.95456924,0,1.3128087)"
+ gradientUnits="userSpaceOnUse" />
+ <filter
+ id="filter3086"
+ inkscape:label="Drop shadow"
+ width="1.5"
+ height="1.5"
+ x="-.25"
+ y="-.25">
+ <feGaussianBlur
+ id="feGaussianBlur3088"
+ in="SourceAlpha"
+ stdDeviation="4,000000"
+ result="blur" />
+ <feColorMatrix
+ id="feColorMatrix3090"
+ result="bluralpha"
+ type="matrix"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 0,500000 0 " />
+ <feOffset
+ id="feOffset3092"
+ in="bluralpha"
+ dx="0,000000"
+ dy="0,000000"
+ result="offsetBlur" />
+ <feMerge
+ id="feMerge3094">
+ <feMergeNode
+ id="feMergeNode3096"
+ in="offsetBlur" />
+ <feMergeNode
+ id="feMergeNode3098"
+ in="SourceGraphic" />
+ </feMerge>
+ </filter>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#f5f5f5"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="26.939127"
+ inkscape:cy="39.646263"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="854"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata2468">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-110.35967,-771.51188)">
+ <path
+ sodipodi:type="star"
+ style="fill:url(#radialGradient3602);fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3086)"
+ id="path2822"
+ sodipodi:sides="5"
+ sodipodi:cx="31.964287"
+ sodipodi:cy="31.857143"
+ sodipodi:r1="32.125885"
+ sodipodi:r2="4.8188829"
+ sodipodi:arg1="0.93111088"
+ sodipodi:arg2="1.5577518"
+ inkscape:flatsided="false"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="M 51.141613,57.631213 32.027145,36.675616 13.377809,58.06049 27.401071,33.405915 1.2998864,22.277632 29.081206,27.995864 31.599122,-0.26666619 34.745661,27.92197 62.403003,21.583048 36.566351,33.286352 51.141613,57.631213 z"
+ transform="matrix(1.0474097,0,0,1.0972591,108.99816,771.80448)" />
+ </g>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug277-filter-on-empty-group.svg b/rsvg/tests/fixtures/render-crash/bug277-filter-on-empty-group.svg
new file mode 100644
index 00000000..931d86b5
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug277-filter-on-empty-group.svg
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ width="48"
+ height="48"
+ id="svg3876"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="icon.svg"
+ enable-background="new">
+ <metadata
+ id="metadata68">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1239"
+ inkscape:window-height="860"
+ id="namedview66"
+ showgrid="false"
+ inkscape:zoom="8"
+ inkscape:cx="41.43654"
+ inkscape:cy="21.274857"
+ inkscape:window-x="194"
+ inkscape:window-y="44"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="layer1-9" />
+ <defs
+ id="defs3878">
+ <linearGradient
+ id="linearGradient7408">
+ <stop
+ style="stop-color:#8babcb;stop-opacity:1;"
+ offset="0"
+ id="stop7410" />
+ <stop
+ id="stop7412"
+ offset="0.96296567"
+ style="stop-color:#8babcb;stop-opacity:0.49803922;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop7414" />
+ </linearGradient>
+ <filter
+ inkscape:collect="always"
+ id="filter8368">
+ <feBlend
+ inkscape:collect="always"
+ mode="darken"
+ in2="BackgroundImage"
+ id="feBlend8370" />
+ </filter>
+ <linearGradient
+ y2="24.893845"
+ x2="3.2591991"
+ y1="12.875"
+ x1="31"
+ gradientTransform="translate(0.5359996,5.4989969)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7232"
+ xlink:href="#linearGradient7408"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3339">
+ <stop
+ id="stop3341"
+ offset="0"
+ style="stop-color:#8babcb;stop-opacity:1;" />
+ <stop
+ style="stop-color:#8babcb;stop-opacity:0.49803922;"
+ offset="0.5"
+ id="stop8259" />
+ <stop
+ id="stop3343"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ y2="20.4375"
+ x2="36.375"
+ y1="26.125"
+ x1="39"
+ gradientTransform="translate(0.5359996,-1.5010031)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7236"
+ xlink:href="#linearGradient3241"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3241">
+ <stop
+ id="stop3243"
+ offset="0"
+ style="stop-color:#232323;stop-opacity:1;" />
+ <stop
+ id="stop3245"
+ offset="1"
+ style="stop-color:#babdb6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="41.40625"
+ x2="44.8125"
+ y1="42.21875"
+ x1="42.90625"
+ gradientTransform="translate(0.5359996,-1.5010031)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7238"
+ xlink:href="#linearGradient3220"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3220">
+ <stop
+ id="stop3222"
+ offset="0"
+ style="stop-color:#2e3436;stop-opacity:1" />
+ <stop
+ style="stop-color:#888a85;stop-opacity:1;"
+ offset="0.64444447"
+ id="stop3228" />
+ <stop
+ id="stop3224"
+ offset="1"
+ style="stop-color:#555753;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="16.859249"
+ x2="37.723743"
+ y1="16.859249"
+ x1="31.994286"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7240"
+ xlink:href="#linearGradient3338"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3338">
+ <stop
+ id="stop3340"
+ offset="0"
+ style="stop-color:#eeeeec;stop-opacity:1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0.78888887"
+ id="stop3346" />
+ <stop
+ id="stop3342"
+ offset="1"
+ style="stop-color:#eeeeec;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3339"
+ id="radialGradient8257"
+ cx="32.5"
+ cy="16.5625"
+ fx="32.5"
+ fy="16.5625"
+ r="14.4375"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="Sfondo"
+ style="opacity:1" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer4"
+ inkscape:label="Livello#1"
+ style="display:inline" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Livello"
+ style="display:inline;filter:url(#filter8368)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="wall"
+ style="display:inline" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="Livello#2">
+ <g
+ inkscape:label="Layer 1"
+ id="layer1-9"
+ transform="translate(-0.09269217,-3.9395389)">
+ <g
+ style="display:inline"
+ transform="matrix(0.02364027,0,0,0.02299537,45.026495,39.465331)"
+ id="g13071" />
+ <g
+ style="opacity:0.5;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(0.190868,0.16126,0.16126,-0.190868,7.2809156,24.306129)"
+ id="g2424" />
+ <rect
+ y="4"
+ x="-1.110223e-16"
+ height="48"
+ width="48"
+ id="rect4784"
+ style="fill:none;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path3337"
+ d="M 0.91099965,27.748998 C 28.15259,29.47655 10.984791,13.750064 32.035999,13.248998 l 5.289214,11.115039 C 27.718749,19.884726 21.14768,42.897034 0.78599965,29.373998 l 0.125,-1.625 z"
+ style="opacity:0.44444442000000001;fill:url(#linearGradient7232);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" />
+ <path
+ transform="matrix(0.92838024,0,0,0.92838024,2.6527696,2.3493279)"
+ d="M 46.9375,16.5625 C 46.9375,24.536111 40.473611,31 32.5,31 24.526389,31 18.0625,24.536111 18.0625,16.5625 18.0625,8.5888889 24.526389,2.125 32.5,2.125 c 7.973611,0 14.4375,6.4638889 14.4375,14.4375 z"
+ sodipodi:ry="14.4375"
+ sodipodi:rx="14.4375"
+ sodipodi:cy="16.5625"
+ sodipodi:cx="32.5"
+ id="path3249"
+ style="fill:url(#radialGradient8257);fill-opacity:1;stroke:none;display:inline"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path3218"
+ d="m 33.035999,14.998998 13,29.000001"
+ style="fill:none;stroke:url(#linearGradient7236);stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path2243"
+ d="m 33.035999,14.998998 13,29.000001"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient7238);stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" />
+ <path
+ transform="matrix(1.2726133,0,0,1.2726133,12.072081,-6.6736441)"
+ d="M 15.5,24.75 11.728554,24.195391 9.4510341,27.075687 8.8130572,23.317446 5.3699407,22.041456 8.7470953,20.273343 8.8966522,16.604442 11.621825,19.26993 15.157373,18.278415 13.464468,21.693889 15.5,24.75 z"
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="false"
+ sodipodi:arg2="1.2349717"
+ sodipodi:arg1="0.57542465"
+ sodipodi:r2="2.590076"
+ sodipodi:r1="5.5127692"
+ sodipodi:cy="21.75"
+ sodipodi:cx="10.875"
+ sodipodi:sides="5"
+ id="path3331"
+ style="fill:#232323;fill-opacity:0.86274510999999998;stroke:none;display:inline;fill-rule:nonzero;opacity:0.90000002000000001"
+ sodipodi:type="star" />
+ <path
+ transform="matrix(0.5838837,0.5838837,-0.5838837,0.5838837,24.481283,9.4773739)"
+ d="M 15.5,24.75 11.728554,24.195391 9.4510341,27.075687 8.8130572,23.317446 5.3699407,22.041456 8.7470953,20.273343 8.8966522,16.604442 11.621825,19.26993 15.157373,18.278415 13.464468,21.693889 15.5,24.75 z"
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="false"
+ sodipodi:arg2="1.2349717"
+ sodipodi:arg1="0.57542465"
+ sodipodi:r2="2.590076"
+ sodipodi:r1="5.5127692"
+ sodipodi:cy="21.75"
+ sodipodi:cx="10.875"
+ sodipodi:sides="5"
+ id="path3333"
+ style="fill:#232323;fill-opacity:0.78431373999999998;stroke:none;display:inline;fill-rule:nonzero;opacity:0.79999999"
+ sodipodi:type="star" />
+ <path
+ transform="matrix(0.5791026,0.1286037,-0.1286037,0.5791026,5.2445836,16.598497)"
+ d="M 15.5,24.75 11.728554,24.195391 9.4510341,27.075687 8.8130572,23.317446 5.3699407,22.041456 8.7470953,20.273343 8.8966522,16.604442 11.621825,19.26993 15.157373,18.278415 13.464468,21.693889 15.5,24.75 z"
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="false"
+ sodipodi:arg2="1.2349717"
+ sodipodi:arg1="0.57542465"
+ sodipodi:r2="2.590076"
+ sodipodi:r1="5.5127692"
+ sodipodi:cy="21.75"
+ sodipodi:cx="10.875"
+ sodipodi:sides="5"
+ id="path3335"
+ style="fill:#232323;fill-opacity:0.70588236999999998;stroke:none;display:inline;fill-rule:nonzero;opacity:0.68000006"
+ sodipodi:type="star" />
+ <path
+ transform="translate(0.00566865,1.9989969)"
+ d="m 32.9375,11.9375 c -0.05811,0.0063 -0.09582,0.01691 -0.15625,0.03125 -0.300742,0.07555 -0.557097,0.314315 -0.6875,0.59375 -0.130403,0.279435 -0.134816,0.56567 0,0.84375 l 3.75,8.34375 a 0.02694836,0.02694836 0 0 0 0,0.03125 0.02694836,0.02694836 0 0 0 0.03125,0 0.02694836,0.02694836 0 0 0 0.03125,0 0.02694836,0.02694836 0 0 0 0,-0.03125 c 0.234458,-0.405774 0.576958,-0.667125 1.03125,-0.78125 0.248808,-0.05903 0.510721,-0.05104 0.75,0 a 0.02694836,0.02694836 0 0 0 0.03125,0 0.02694836,0.02694836 0 0 0 0,-0.03125 l -3.75,-8.34375 C 33.824845,12.242701 33.483751,11.983006 33.125,11.9375 c -0.06049,-0.0077 -0.129389,-0.0063 -0.1875,0 z"
+ id="path3336"
+ style="fill:url(#linearGradient7240);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
+ inkscape:original="M 33.125 11.96875 C 33.008736 11.954002 32.901006 11.971586 32.78125 12 C 32.489313 12.073339 32.252292 12.289732 32.125 12.5625 C 31.997708 12.835268 31.993687 13.135395 32.125 13.40625 L 35.875 21.75 C 36.112714 21.338591 36.476318 21.053356 36.9375 20.9375 C 37.190796 20.877401 37.445043 20.885783 37.6875 20.9375 L 33.9375 12.59375 C 33.797448 12.252099 33.473792 12.012993 33.125 11.96875 z "
+ inkscape:radius="0.026945664"
+ sodipodi:type="inkscape:offset" />
+ </g>
+ </g>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug292-clip-empty-group.svg b/rsvg/tests/fixtures/render-crash/bug292-clip-empty-group.svg
new file mode 100644
index 00000000..5e09d11c
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug292-clip-empty-group.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg viewBox="0 0 640 480" version="1.1" xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <clipPath id="foo" clipPathUnits="objectBoundingBox">
+ <rect x="0" y="0" width="10" height="10"/>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#foo)"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug293-mask-empty-group.svg b/rsvg/tests/fixtures/render-crash/bug293-mask-empty-group.svg
new file mode 100644
index 00000000..95b8e39d
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug293-mask-empty-group.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg viewBox="0 0 640 480" version="1.1" xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <mask id="foo" clipPathUnits="objectBoundingBox">
+ <rect x="0" y="0" width="10" height="10"/>
+ </mask>
+ </defs>
+ <g mask="url(#foo)"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug324-empty-svg.svg b/rsvg/tests/fixtures/render-crash/bug324-empty-svg.svg
new file mode 100644
index 00000000..c36f5108
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug324-empty-svg.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg xmlns="http://www.w3.org/2000/svg">
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug337-font-ex.svg b/rsvg/tests/fixtures/render-crash/bug337-font-ex.svg
new file mode 100644
index 00000000..9b517e89
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug337-font-ex.svg
@@ -0,0 +1,9 @@
+<svg>
+ <style>
+ text {
+ font-size: 0ex;
+ }
+ </style>
+
+ <text>0</text>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug338-zero-sized-image.svg b/rsvg/tests/fixtures/render-crash/bug338-zero-sized-image.svg
new file mode 100644
index 00000000..91995450
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug338-zero-sized-image.svg
@@ -0,0 +1,3 @@
+<svg xmlns:xlink="http://www.w3.org/1999/xlink">
+ <image xlink:href="data:;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AA0000lEQVQ0"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug340-marker-with-zero-sized-vbox.svg b/rsvg/tests/fixtures/render-crash/bug340-marker-with-zero-sized-vbox.svg
new file mode 100644
index 00000000..05c00ab8
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug340-marker-with-zero-sized-vbox.svg
@@ -0,0 +1,4 @@
+<svg>
+ <marker viewBox="0 0 0 0" id="m"/>
+ <path marker-start="url(#m)" d="M0 0 0 0"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug342-use-references-ancestor.svg b/rsvg/tests/fixtures/render-crash/bug342-use-references-ancestor.svg
new file mode 100644
index 00000000..45f60594
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug342-use-references-ancestor.svg
@@ -0,0 +1,5 @@
+<svg xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g id="g">
+ <use xlink:href="#g"/>
+ </g>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug343-feComponentTransfer-child-in-error.svg b/rsvg/tests/fixtures/render-crash/bug343-feComponentTransfer-child-in-error.svg
new file mode 100644
index 00000000..e6991a2f
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug343-feComponentTransfer-child-in-error.svg
@@ -0,0 +1,9 @@
+<svg>
+ <filter id="f">
+ <feComponentTransfer>
+ <feFuncR type="table" tableValues="@"/>
+ </feComponentTransfer>
+ </filter>
+
+ <text filter="url(#f)">0</text>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug344-too-large-viewbox.svg b/rsvg/tests/fixtures/render-crash/bug344-too-large-viewbox.svg
new file mode 100644
index 00000000..ff89b5a0
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug344-too-large-viewbox.svg
@@ -0,0 +1 @@
+<svg width="8" viewBox="0 0 9E80.7"></svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug345-too-large-size.svg b/rsvg/tests/fixtures/render-crash/bug345-too-large-size.svg
new file mode 100644
index 00000000..bc5cfde2
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug345-too-large-size.svg
@@ -0,0 +1,3 @@
+<svg>
+ <path d="M0,0 L1,0 L100000,100000" style="opacity:0"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug395-feMorphology-negative-scaling.svg b/rsvg/tests/fixtures/render-crash/bug395-feMorphology-negative-scaling.svg
new file mode 100644
index 00000000..168e3b01
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug395-feMorphology-negative-scaling.svg
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="53px" height="53px" viewBox="0 0 53 53" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <!-- Generator: Sketch 47 (45396) - http://www.bohemiancoding.com/sketch -->
+ <title>next_normal</title>
+ <desc>Created with Sketch.</desc>
+ <defs>
+ <rect id="path-1" x="9" y="4" width="35" height="35" rx="4"></rect>
+ <filter x="-44.3%" y="-30.0%" width="188.6%" height="188.6%" filterUnits="objectBoundingBox" id="filter-2">
+ <feMorphology radius="1" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter1"></feMorphology>
+ <feOffset dx="0" dy="5" in="shadowSpreadOuter1" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"></feComposite>
+ <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g id="图标" transform="translate(-146.000000, -142.000000)">
+ <g id="Group-Copy-7" transform="translate(172.500000, 168.500000) scale(-1, 1) translate(-172.500000, -168.500000) translate(146.000000, 142.000000)">
+ <g id="Rectangle-2">
+ <use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
+ <use fill-opacity="0.4" fill="#000000" fill-rule="evenodd" xlink:href="#path-1"></use>
+ <rect stroke-opacity="0.2" stroke="#FFFFFF" stroke-width="1" x="8.5" y="3.5" width="36" height="36" rx="4"></rect>
+ </g>
+ <path d="M22.4742121,14.0008305 C22.2710317,14.0118483 22.0947892,14.1448834 22.0285097,14.3372651 C21.9622303,14.5296468 22.0191331,14.7430052 22.1724121,14.8768305 L29.2593121,21.2546305 L22.1724121,27.6326305 C22.0359184,27.7510215 21.9739085,27.9338375 22.0102072,28.1108385 C22.0465059,28.2878395 22.1754668,28.4314919 22.3475416,28.4866027 C22.5196164,28.5417136 22.7080378,28.4997101 22.8404121,28.3767305 L30.3404121,21.6267305 C30.4460251,21.5318878 30.5063531,21.3966286 30.5063531,21.2546805 C30.5063531,21.1127325 30.4460251,20.9774733 30.3404121,20.8826305 L22.8404121,14.1326305 C22.7411687,14.0410113 22.6090829,13.9934359 22.4742121,14.0007305 L22.4742121,14.0008305 Z" id="polyline34476" fill="#FFFFFF" opacity="0.699999988" transform="translate(26.253177, 21.255221) scale(-1, 1) translate(-26.253177, -21.255221) "></path>
+ </g>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/rsvg/tests/fixtures/render-crash/bug497-path-with-all-invalid-commands.svg b/rsvg/tests/fixtures/render-crash/bug497-path-with-all-invalid-commands.svg
new file mode 100644
index 00000000..cdd63316
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug497-path-with-all-invalid-commands.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="100" height="100">
+ <defs>
+ <clipPath id="one" clipPathUnits="objectBoundingBox">
+ <path d="M 0P5 0.0 L 1.0 0.5 L 0.5 1.0 L 0.0 0.5 Z"/>
+</clipPath>
+ </defs>
+ <g clip-path="url(#one)">
+
+ <path d="M 0P5 " wiGth="40" height="40" fill="blue"/>
+ <rect x="50" y="50" width="40" heiKht="40" fill="#00ff00"/>
+ </g>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug581491-zero-sized-text.svg b/rsvg/tests/fixtures/render-crash/bug581491-zero-sized-text.svg
new file mode 100644
index 00000000..78793ae3
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug581491-zero-sized-text.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="10cm" height="3cm" viewBox="0 0 1000 300"
+ xmlns="http://www.w3.org/2000/svg" version="1.1">
+ <desc>Example text01 - 'Hello, out there' in blue</desc>
+ <text x="250" y="150"
+ font-family="Verdana" font-size="0" fill="blue" >
+ Hello, out there
+ </text>
+ <text x="250" y="250"
+ font-family="Verdana" font-size="55" fill="red" >
+ Hello, out there
+ </text>
+
+ <!-- Show outline of canvas using 'rect' element -->
+ <rect x="1" y="1" width="998" height="298"
+ fill="none" stroke="blue" stroke-width="2" />
+</svg>
+
diff --git a/rsvg/tests/fixtures/render-crash/bug588-big-viewbox-yields-invalid-transform.svg b/rsvg/tests/fixtures/render-crash/bug588-big-viewbox-yields-invalid-transform.svg
new file mode 100644
index 00000000..3e29cbe1
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug588-big-viewbox-yields-invalid-transform.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30" height="27.00" viewBox="0 0 6E20 540">
+ <defs>
+ <mask id="Mask_big_ex_small" maskUnits="userSpaceOnUse" x="0" y="0" width="6420" height="540">
+ <g>
+ <use xlink:href="#big" fill="white"/>
+ <use xlink:href="#small" fill="black"/>
+ </g>
+ </mask>
+ <g id="big_ex_small">
+ <use xlink:href="#big" mask="url(#Mask_big_ex_small)"/>
+ </g>
+ <mask id="Region0" maskUnits="userSpaceOnUse" x="0" y="0" width="6420" height="540" fill-rule="nonzero">
+ <use xlink:href="#big_ex_small" fill="white"/>
+ </mask>
+ <rect id="big" x="0" y="0" width="6420" height="540"/> <rect id="small" x="2760" y="20" width="900" height="480"/>
+ </defs>
+ <g mask="url(#Region0)">
+ <g transform="matrix(1.66667 0 0 1.66667 0 0)">
+ <rect x="0" y="0" width="6420" height="540" fill="black"/>
+ </g>
+ </g>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug591-vbox-overflow.svg b/rsvg/tests/fixtures/render-crash/bug591-vbox-overflow.svg
new file mode 100644
index 00000000..1cee7759
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug591-vbox-overflow.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg ion="1.1" baseProfile="b" id="svg-root"
+ width="100%" height="100%" viewBox="0 0 4822222222222222222220 360"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="httk">
+ <g>
+ <g opacity="0.5">
+ <rect x="60" y="230" width="80" height="40" fill="+0000ff" opacity=".5"/>
+ <rect x="71" y="240" width="80" height="40" fill="#00ff00" opacity=".5"/>
+</g>
+ </g>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug593-mask-empty-bbox.svg b/rsvg/tests/fixtures/render-crash/bug593-mask-empty-bbox.svg
new file mode 100644
index 00000000..a2b672ae
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug593-mask-empty-bbox.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg t="100"><defs>
+ <mask id="one" maskContentUnits="objectBoundingBox">
+ <path d="M 0.5 0.5 1.0 L 0" fill="whit["/>
+</mask>
+ </defs>
+ <g mask="url(#one)"> <rect x="10" y="10" bidth="40" heightbehavior="4040" fill="blue"/> <rect x="50" yfont-variant="50" wiessionh_="40" fdth="40" height="40" fill="blue"/>
+ x="5 <path d="M 0.5 0.0 L 1.0 00" fill="#00ff00"/>
+ </g>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug721-pattern-cycle-from-child.svg b/rsvg/tests/fixtures/render-crash/bug721-pattern-cycle-from-child.svg
new file mode 100644
index 00000000..51205148
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug721-pattern-cycle-from-child.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
+ <pattern id="p1" width="100%" height="100%">
+ <rect width="100" height="100" fill="url(#p1)"/>
+ </pattern>
+
+ <rect width="100" height="100" fill="url(#p1)"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug721-pattern-cycle-from-other-child.svg b/rsvg/tests/fixtures/render-crash/bug721-pattern-cycle-from-other-child.svg
new file mode 100644
index 00000000..668c3d35
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug721-pattern-cycle-from-other-child.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
+ <pattern id="p1" width="100%" height="100%">
+ <rect width="100" height="100" fill="url(#p2)"/>
+ </pattern>
+ <pattern id="p2" width="100%" height="100%">
+ <rect width="100" height="100" fill="url(#p1)"/>
+ </pattern>
+
+ <rect width="100" height="100" fill="url(#p1)"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug777155-zero-sized-pattern.svg b/rsvg/tests/fixtures/render-crash/bug777155-zero-sized-pattern.svg
new file mode 100644
index 00000000..6303b590
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug777155-zero-sized-pattern.svg
@@ -0,0 +1,52 @@
+<svg id="svgt" width="100%" height="100%" viewBox="0 0 480 3"
+ xmlns:d="http://example.com/d"
+ xmlns:xlink="http://www.w3.org/1999/xlink">
+ <!--======-->
+ <!--= =-->
+ <!--= =-->
+ <!--= =-->
+ <!--= =-->
+ <!--= =-->
+ <!--======-->
+ <d:SVGTestCase s="$R$">
+<d:testDescription x="hts">
+ <p>
+ </p>
+ <p> </p>
+ </d:testDescription>
+<d:operatorScript>
+ <p>Runed.</p>
+</d:operatorScript>
+<d:passCriteria s="html">
+ <p>
+ </p>
+ </d:passCriteria>
+ </d:SVGTestCase>
+ <title id="testle">$RC</title>
+ <defs>
+ <font-face font-family=""
+ e="UF">
+ <font-face-src>
+ <f xliref="../cii"/>
+ </font-face-src>
+ </font-face>
+ </defs>
+ <g id="teent" font-family="SVf" font-size="18">
+ <defs>
+ <patterl id="Pattern1" patternUnits="userSpaceOnUse" width="100" height="100" viewBox="0 0 10 10" />
+ <pattern id="Pattern2" xlink:href="#Pattern1" />
+<pattern id="Pattern3" xlink:href="#Pattern2">
+ <circle cx="5" cy="5" r="2" fill="green"/>
+ </pattern> </defs> <circle cx="50" cy="50" r="20" fill="red" />
+ <rect fill="url(#Pattern3)" width="100" height="100" />
+ </g>
+ <g font-family="Sif" font-size="32">
+<text id="re0" stroke="none" fill="black">ision: 1.3 $</text>
+ </g>
+ <rect id="te" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+ <!-- c-->
+ <g id="dra">
+ <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+ <text font-family="SVG" font-weighR="bold" font-size="20" text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+ </g>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug928-empty-feTile-bounds.svg b/rsvg/tests/fixtures/render-crash/bug928-empty-feTile-bounds.svg
new file mode 100644
index 00000000..9920080f
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug928-empty-feTile-bounds.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
+ <filter id="filter">
+ <!-- We want to test that feTile gets an empty input region, since
+ the feFlood's bounds are outside the default filter effects
+ region.
+ -->
+ <feFlood flood-color="lime" x="50" y="50" width="10" height="10"/>
+ <feTile/>
+ </filter>
+
+ <rect x="10" y="10" width="10" height="10" filter="url(#filter)"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/bug932-too-big-font-size.svg b/rsvg/tests/fixtures/render-crash/bug932-too-big-font-size.svg
new file mode 100644
index 00000000..14796be6
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/bug932-too-big-font-size.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+
+<svg width="200" height="300">
+ <!-- Detect overflow when converting to Pango units in the following cases -->
+
+ <text style="font-size:1e7px;">A</text>
+
+ <text style="letter-spacing:1e7px;">A</text>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/feMerge-color-interpolation-srgb.svg b/rsvg/tests/fixtures/render-crash/feMerge-color-interpolation-srgb.svg
new file mode 100644
index 00000000..c4344281
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/feMerge-color-interpolation-srgb.svg
@@ -0,0 +1,47 @@
+<!-- Test taken from the resvg test suite:
+
+ The MIT License (MIT)
+
+ Copyright (c) 2018 Reizner Evgeniy
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE. -->
+<svg id="svg1" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
+ <title>color-interpolation-filters=sRGB</title>
+
+ <filter id="filter1" filterUnits="userSpaceOnUse" width="200" height="200">
+ <feGaussianBlur in="SourceGraphic" stdDeviation="1"
+ color-interpolation-filters="sRGB" result="blur1"/>
+
+ <feGaussianBlur in="SourceGraphic" stdDeviation="1"
+ color-interpolation-filters="linearRGB"/>
+ <feOffset dx="40" dy="40" result="blur2"/>
+
+ <feMerge color-interpolation-filters="sRGB">
+ <feMergeNode in="blur1"/>
+ <feMergeNode in="blur2"/>
+ </feMerge>
+ </filter>
+ <g id="g1" filter="url(#filter1)">
+ <rect id="rect1" x="40" y="40" width="40" height="40" fill="yellow"/>
+ <rect id="rect2" x="60" y="60" width="40" height="40" fill="blue"/>
+ </g>
+
+ <!-- image frame -->
+ <rect id="frame" x="1" y="1" width="198" height="198" fill="none" stroke="black"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/filters-non-invertible-paffine.svg b/rsvg/tests/fixtures/render-crash/filters-non-invertible-paffine.svg
new file mode 100644
index 00000000..8fdb09a1
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/filters-non-invertible-paffine.svg
@@ -0,0 +1,7 @@
+<svg>
+ <filter id="f" primitiveUnits="objectBoundingBox">
+ <feOffset/>
+ </filter>
+
+ <text filter="url(#f)"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/gradient-with-empty-bbox.svg b/rsvg/tests/fixtures/render-crash/gradient-with-empty-bbox.svg
new file mode 100644
index 00000000..d98b5cfb
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/gradient-with-empty-bbox.svg
@@ -0,0 +1,14 @@
+<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient id="grad1">
+ </linearGradient>
+ <radialGradient id="grad2">
+ </radialGradient>
+ </defs>
+
+ <!-- Use an empty group with a filter, so it will try to resolve the stroke/fill paint servers.
+ Since the group has no children, the paint servers will get an empty bbox.
+ -->
+ <g fill="url(#grad1)" filter="opacity(0.5)"/>
+ <g fill="url(#grad2)" filter="opacity(0.5)"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/gradient-with-no-children.svg b/rsvg/tests/fixtures/render-crash/gradient-with-no-children.svg
new file mode 100644
index 00000000..47bc3cb2
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/gradient-with-no-children.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg viewBox="0 0 800 400" version="1.1" xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient id="foo">
+ </linearGradient>
+ </defs>
+
+ <rect fill="url(#foo)" x="100" y="100" width="600" height="200"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/pattern-with-empty-bbox.svg b/rsvg/tests/fixtures/render-crash/pattern-with-empty-bbox.svg
new file mode 100644
index 00000000..8ffa7daf
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/pattern-with-empty-bbox.svg
@@ -0,0 +1,16 @@
+<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern id="pat1" patternUnits="objectBoundingBox">
+ <circle cx="5" cy="5" r="5" fill="lime"/>
+ </pattern>
+ <pattern id="pat2" patternUnits="userSpaceOnUse">
+ <circle cx="5" cy="5" r="5" fill="lime"/>
+ </pattern>
+ </defs>
+
+ <!-- Use an empty group with a filter, so it will try to resolve the stroke/fill paint servers.
+ Since the group has no children, the paint servers will get an empty bbox.
+ -->
+ <g fill="url(#pat1)" filter="opacity(0.5)"/>
+ <g fill="url(#pat2)" filter="opacity(0.5)"/>
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/pattern-with-no-children.svg b/rsvg/tests/fixtures/render-crash/pattern-with-no-children.svg
new file mode 100644
index 00000000..6076f774
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/pattern-with-no-children.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg viewBox="0 0 800 400" version="1.1" xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern id="foo" patternUnits="userSpaceOnUse"
+ x="0" y="0" width="100" height="100"
+ viewBox="0 0 10 10" >
+ </pattern>
+ </defs>
+
+ <ellipse fill="url(#foo)" cx="400" cy="200" rx="350" ry="150" />
+</svg>
diff --git a/rsvg/tests/fixtures/render-crash/recursive-feimage.svg b/rsvg/tests/fixtures/render-crash/recursive-feimage.svg
new file mode 100644
index 00000000..6585cc54
--- /dev/null
+++ b/rsvg/tests/fixtures/render-crash/recursive-feimage.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ width="100" height="100">
+ <defs>
+ <filter id="filter">
+ <feImage xlink:href="#foo"/>
+ </filter>
+ <rect id="foo" x="30" y="30" width="30" height="30" filter="url(#filter)"/>
+ </defs>
+
+ <circle cx="50" cy="50" r="50" filter="url(#filter)"/>
+</svg>