Panic in text rendering with "ex" or "em" font units
Found by AFL. Minimized:
<svg>
<style>
text {
font-size: 0ex;
}
</style>
<text>0</text>
</svg>
Backtrace:
thread '<unnamed>' panicked at 'internal error: entered unreachable code: ComputedValues can't have a relative font size', rsvg_internals/src/length.rs:247:13
stack backtrace:
0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
1: std::sys_common::backtrace::print
at libstd/sys_common/backtrace.rs:71
at libstd/sys_common/backtrace.rs:59
2: std::panicking::default_hook::{{closure}}
at libstd/panicking.rs:211
3: std::panicking::default_hook
at libstd/panicking.rs:227
4: std::panicking::rust_panic_with_hook
at libstd/panicking.rs:511
5: std::panicking::continue_panic_fmt
at libstd/panicking.rs:426
6: std::panicking::begin_panic_fmt
at libstd/panicking.rs:413
7: rsvg_internals::length::font_size_from_values
at rsvg_internals/src/length.rs:247
8: rsvg_internals::length::Length::normalize
at rsvg_internals/src/length.rs:112
9: rsvg_internals::font_props::FontSizeSpec::normalize
at rsvg_internals/src/font_props.rs:71
10: rsvg_internals::text::create_pango_layout
at rsvg_internals/src/text.rs:533
11: rsvg_internals::text::NodeChars::render
at rsvg_internals/src/text.rs:90
12: rsvg_internals::text::render_child::{{closure}}
at rsvg_internals/src/text.rs:713
13: rsvg_internals::node::Node::with_impl
at rsvg_internals/src/node.rs:585
14: rsvg_internals::text::render_child
at rsvg_internals/src/text.rs:708
15: rsvg_internals::text::render_children::{{closure}}
at rsvg_internals/src/text.rs:683
16: rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer
at rsvg_internals/src/drawing_ctx.rs:429
17: rsvg_internals::text::render_children
at rsvg_internals/src/text.rs:681
18: <rsvg_internals::text::NodeText as rsvg_internals::node::NodeTrait>::draw
at rsvg_internals/src/text.rs:193
19: rsvg_internals::node::Node::draw
at rsvg_internals/src/node.rs:550
20: rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack
at rsvg_internals/src/drawing_ctx.rs:810
21: rsvg_internals::node::Node::draw_children
at rsvg_internals/src/node.rs:602
22: <rsvg_internals::structure::NodeSvg as rsvg_internals::node::NodeTrait>::draw::{{closure}}
at rsvg_internals/src/structure.rs:222
23: rsvg_internals::viewport::draw_in_viewport::{{closure}}
at rsvg_internals/src/viewport.rs:83
24: rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer
at rsvg_internals/src/drawing_ctx.rs:429
25: rsvg_internals::viewport::draw_in_viewport
at rsvg_internals/src/viewport.rs:44
26: <rsvg_internals::structure::NodeSvg as rsvg_internals::node::NodeTrait>::draw
at rsvg_internals/src/structure.rs:206
27: rsvg_internals::node::Node::draw
at rsvg_internals/src/node.rs:550
28: rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack
at rsvg_internals/src/drawing_ctx.rs:810
29: rsvg_drawing_ctx_draw_node_from_stack
at rsvg_internals/src/drawing_ctx.rs:1062
30: get_node_ink_rect
at librsvg/rsvg-handle.c:1181
31: rsvg_handle_get_dimensions_sub
at librsvg/rsvg-handle.c:1244
32: rsvg_handle_get_dimensions
at librsvg/rsvg-handle.c:1150
33: get_node_ink_rect
at librsvg/rsvg-handle.c:1170
34: rsvg_handle_get_dimensions_sub
at librsvg/rsvg-handle.c:1244
35: main
at ./rsvg-convert.c:321
36: __libc_start_main
37: _start
Edited by Federico Mena Quintero