[BZ#667133] Fix valgrind warnings for Rsvg{Linear,Radial}Gradient
Submitted by Xan Lopez
Link to original bug (#667133)
Description
Created attachment 204450 rsvgvalgrind.diff
I'm getting tons of warnings like this:
==21586== Conditional jump or move depends on uninitialised value(s) ==21586== at 0xEAE0CAD: rsvg_radial_gradient_set_atts (rsvg-paint-server.c:326) ==21586== by 0xEB04966: rsvg_node_set_atts (rsvg-base.c:1901) ==21586== by 0xEB01256: rsvg_standard_element_start (rsvg-base.c:273) ==21586== by 0xEB01DF5: rsvg_start_element (rsvg-base.c:617) ==21586== by 0x399D44230B: xmlParseStartTag (parser.c:8285) ==21586== by 0x399D44ABD7: xmlParseTryOrFinish (parser.c:10968) ==21586== by 0x399D44B7AE: xmlParseChunk (parser.c:11739) ==21586== by 0xEB02EA9: rsvg_handle_write_impl (rsvg-base.c:1077) ==21586== by 0xEB03FC9: rsvg_handle_write (rsvg-base.c:1636) ==21586== by 0x4027EEA: gdk_pixbuf__svg_image_load_increment (io-svg.c:135) ==21586== by 0x41C2601: _gdk_pixbuf_generic_image_load (gdk-pixbuf-io.c:1002) ==21586== by 0x41C29C4: gdk_pixbuf_new_from_file (gdk-pixbuf-io.c:1103) ==21586== by 0x6832E4D: pattern_value_parse (gtkstyleproperty.c:1007) ==21586== by 0x6835A17: _gtk_style_property_parse_value (gtkstyleproperty.c:2377) ==21586== by 0x66CC5E4: parse_declaration (gtkcssprovider.c:2294) ==21586== by 0x66CC8D9: parse_declarations (gtkcssprovider.c:2384) ==21586== by 0x66CCA11: parse_ruleset (gtkcssprovider.c:2416) ==21586== by 0x66CCB34: parse_statement (gtkcssprovider.c:2445) ==21586== by 0x66CCBB1: parse_stylesheet (gtkcssprovider.c:2461) ==21586== by 0x66CCDE4: gtk_css_provider_load_internal (gtkcssprovider.c:2554) ==21586== by 0x66CB254: parse_import (gtkcssprovider.c:1737) ==21586== by 0x66CB875: parse_at_keyword (gtkcssprovider.c:1924) ==21586== by 0x66CCB26: parse_statement (gtkcssprovider.c:2443) ==21586== by 0x66CCBB1: parse_stylesheet (gtkcssprovider.c:2461) ==21586== by 0x66CCDE4: gtk_css_provider_load_internal (gtkcssprovider.c:2554) ==21586== by 0x66CD109: gtk_css_provider_load_from_file (gtkcssprovider.c:2646) ==21586== by 0x66CD1F2: gtk_css_provider_load_from_path (gtkcssprovider.c:2673) ==21586== by 0x66CD53B: gtk_css_provider_get_named (gtkcssprovider.c:3175) ==21586== by 0x6814F6D: settings_update_theme (gtksettings.c:2835) ==21586== by 0x6811913: settings_init_style (gtksettings.c:1519)
The code (I think) seems alright, since the hasfoo values are actually initialized, but perhaps valgrind is confused because of the way the bits are being packed? In any case the attached patch fixes the warnings, comments welcome.
Patch 204450, "rsvgvalgrind.diff":
rsvgvalgrind.diff