commit 7a40d7b8d188919b0557f671a5c06f0aba260aa9 Author: Federico Mena Quintero Date: Wed Aug 22 13:10:53 2018 -0500 Update NEWS NEWS | 6 ++++++ 1 file changed, 6 insertions(+) commit 9394e52071749757e43c8ec25986f43642b7c754 Author: Federico Mena Quintero Date: Wed Aug 22 13:10:32 2018 -0500 Clarify documentation for rsvg_handle_render_cairo() / render_cairo_sub() librsvg/rsvg-cairo-render.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) commit 706166a0ff8ec84e7a3dac7a5db4c1f14bb645f5 Author: Federico Mena Quintero Date: Tue Aug 21 17:30:27 2018 -0500 rsvg-test.c: Check the return value of rsvg_handle_render_cairo() tests/rsvg-test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c6a76d8d395223e28b8d1cfa3d34cd7921c368cc Author: Federico Mena Quintero Date: Tue Aug 21 17:17:32 2018 -0500 tests/errors.c: New set of tests for reported errors from the API Although we can't report detailed errors from the rendering functions, we do report a success/failure boolean value. Test this, at least, for problematic files. tests/Makefile.am | 9 +- tests/errors.c | 55 +++++++++ tests/fixtures/errors/323-nested-use.svg | 196 +++++++++++++++++++++++++++++++ 3 files changed, 259 insertions(+), 1 deletion(-) commit 984bb44fe467ca479047eefd82745724e9e71183 Author: Federico Mena Quintero Date: Wed Aug 22 12:58:43 2018 -0500 rsvg-convert: Exit with an error code if rendering was unsuccessful rsvg-convert.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit 9db884a1aa1b6b3128bd9abd30ad8203f2681cad Author: Federico Mena Quintero Date: Wed Aug 22 12:15:13 2018 -0500 gitlab#323 - Limit the number of instancings through the element A pathological SVG file can do this: ... repeat 10 times ... ... repeat 10 times ... ... repeat 10 times ... ... etc ... This would cause about 10^17 objects to be rendered. While this does not exhaust memory (the objects are not instanced in memory), it would take a really long time to render that many objects. So, we now have a limit on up to 500,000 objects instanced through . We can tweak this limit later, or the way in which it is computed; the point is that we can now detect this situation and propagate an error upstream. https://gitlab.gnome.org/GNOME/librsvg/issues/323 librsvg/rsvg-base.c | 29 +++++++++++++++++++++++++++-- librsvg/rsvg-cairo-render.c | 5 +++-- librsvg/rsvg-private.h | 2 +- 3 files changed, 31 insertions(+), 5 deletions(-) commit 2aeaac79265f9e916fdd8ff3990287fc9cbf119b Author: Federico Mena Quintero Date: Wed Aug 22 11:00:19 2018 -0500 Keep track of how many elements get instanced through nodes librsvg/rsvg-base.c | 6 ++++++ librsvg/rsvg-private.h | 1 + rsvg_internals/src/drawing_ctx.rs | 8 ++++++++ rsvg_internals/src/structure.rs | 2 ++ 4 files changed, 17 insertions(+) commit 49455947dff1f5f55abeabd159de974aa9fda36d Author: Federico Mena Quintero Date: Tue Aug 7 16:42:49 2018 -0500 Post-release version bump configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)