[librsvg] Alwys initialise the matrix



commit abda93caabfa361d7d674dc8af39b6bfba65bc8a
Author: Christian Persch <chpe gnome org>
Date:   Sat Nov 12 21:20:18 2011 +0100

    Alwys initialise the matrix
    
    This fixes a regression from commit f93a2acceaa00191ef0b4f138d9c0496f054c262:
    
    ==20076== Conditional jump or move depends on uninitialised value(s)
    ==20076==    at 0x402CFF8: bcmp (mc_replace_strmem.c:692)
    ==20076==    by 0x429DF0B: _cairo_gstate_set_matrix (cairo-gstate.c:722)
    ==20076==    by 0x428FC52: cairo_set_matrix (cairo.c:1250)
    ==20076==    by 0x405A11C: _set_rsvg_affine (rsvg-cairo-draw.c:367)
    ==20076==    by 0x405B941: rsvg_cairo_render_image (rsvg-cairo-draw.c:577)
    ==20076==    by 0x4058C76: rsvg_render_image (rsvg-base.c:1964)
    ==20076==    by 0x4039FE8: rsvg_node_image_draw (rsvg-image.c:310)
    ==20076==    by 0x404FC13: rsvg_node_draw (rsvg-structure.c:69)
    ==20076==    by 0x4050126: _rsvg_node_draw_children (rsvg-structure.c:87)
    ==20076==  Uninitialised value was created by a stack allocation
    ==20076==    at 0x405A236: _set_source_rsvg_pattern (rsvg-cairo-draw.c:190)

 rsvg-cairo-draw.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/rsvg-cairo-draw.c b/rsvg-cairo-draw.c
index 8bd39ec..a086bde 100644
--- a/rsvg-cairo-draw.c
+++ b/rsvg-cairo-draw.c
@@ -281,6 +281,8 @@ _set_source_rsvg_pattern (RsvgDrawingCtx * ctx,
         /* If coords are in terms of the bounding box, use them */
         cairo_matrix_init_scale (&caffine, bbox.rect.width, bbox.rect.height);
         _rsvg_push_view_box (ctx, 1., 1.);
+    } else {
+        cairo_matrix_init_identity (&caffine);
     }
 
     if (scwscale != 1.0 || schscale != 1.0) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]