Replace g_new() with g_new0() throughout

We should not have uninitialized memory!  I'm not confident
that we are actually initializing every struct field by hand.
parent 2b1c4020
......@@ -2425,7 +2425,7 @@ rsvg_render_free (RsvgRender * render)
void
rsvg_drawing_ctx_push_view_box (RsvgDrawingCtx * ctx, double w, double h)
{
RsvgViewBox *vb = g_new (RsvgViewBox, 1);
RsvgViewBox *vb = g_new0 (RsvgViewBox, 1);
*vb = ctx->vb;
ctx->vb_stack = g_slist_prepend (ctx->vb_stack, vb);
ctx->vb.rect.width = w;
......
......@@ -809,7 +809,7 @@ rsvg_cairo_push_render_stack (RsvgDrawingCtx * ctx)
render->cr_stack = g_list_prepend (render->cr_stack, render->cr);
render->cr = child_cr;
bbox = g_new (RsvgBbox, 1);
bbox = g_new0 (RsvgBbox, 1);
*bbox = render->bbox;
render->bb_stack = g_list_prepend (render->bb_stack, bbox);
rsvg_bbox_init (&render->bbox, &state->affine);
......
......@@ -142,7 +142,7 @@ rsvg_cairo_new_drawing_ctx (cairo_t * cr, RsvgHandle * handle)
if (data.width == 0 || data.height == 0)
return NULL;
draw = g_new (RsvgDrawingCtx, 1);
draw = g_new0 (RsvgDrawingCtx, 1);
cairo_get_matrix (cr, &affine);
......@@ -170,6 +170,7 @@ rsvg_cairo_new_drawing_ctx (cairo_t * cr, RsvgHandle * handle)
draw->vb.rect.width = data.em;
draw->vb.rect.height = data.ex;
draw->pango_context = NULL;
draw->vb_stack = NULL;
draw->drawsub_stack = NULL;
draw->acquired_nodes = NULL;
draw->is_testing = handle->priv->is_testing;
......
......@@ -473,7 +473,7 @@ rsvg_css_parse_list (const char *in_str, guint * out_list_len)
if (string_list) {
GSList *slist;
string_array = g_new (gchar *, n + 1);
string_array = g_new0 (gchar *, n + 1);
string_array[n--] = NULL;
for (slist = string_list; slist; slist = slist->next)
......@@ -500,7 +500,7 @@ rsvg_css_parse_number_list (const char *in_str, guint * out_list_len)
if (!(string_array && len))
return NULL;
output = g_new (gdouble, len);
output = g_new0 (gdouble, len);
/* TODO: some error checking */
for (i = 0; i < len; i++)
......
......@@ -40,7 +40,7 @@ struct _RsvgDefs {
RsvgDefs *
rsvg_defs_new (RsvgHandle *handle)
{
RsvgDefs *result = g_new (RsvgDefs, 1);
RsvgDefs *result = g_new0 (RsvgDefs, 1);
result->hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) rsvg_node_unref);
result->externs =
......
......@@ -621,7 +621,7 @@ rsvg_filter_store_output (GString * name, RsvgFilterPrimitiveOutput result, Rsvg
cairo_surface_destroy (ctx->lastresult.surface);
store = g_new (RsvgFilterPrimitiveOutput, 1);
store = g_new0 (RsvgFilterPrimitiveOutput, 1);
*store = result;
if (name->str[0] != '\0') {
......@@ -1369,7 +1369,7 @@ box_blur_line (gint box_width, gint even_offset,
kernel; it's the pixel to remove from the accumulator. */
gint *ac; /* Accumulator for each channel */
ac = g_new (gint, bpp);
ac = g_new0 (gint, bpp);
/* The algorithm differs for even and odd-sized kernels.
* With the output at the center,
......@@ -1515,7 +1515,7 @@ make_gaussian_convolution_matrix (gdouble radius, gdouble **out_matrix, gint *ou
if (matrix_len <= 0)
matrix_len = 1;
matrix = g_new (gdouble, matrix_len);
matrix = g_new0 (gdouble, matrix_len);
/* Fill the matrix by doing numerical integration approximation
* from -2*std_dev to 2*std_dev, sampling 50 points per pixel.
......@@ -1802,7 +1802,7 @@ gaussian_blur_surface (cairo_surface_t *in,
box_width = compute_box_blur_width (sx);
/* twice the size so we can have "two" scratch rows */
row_buffer = g_new (guchar, width * bpp * 2);
row_buffer = g_new0 (guchar, width * bpp * 2);
row1 = row_buffer;
row2 = row_buffer + width * bpp;
} else
......@@ -1854,7 +1854,7 @@ gaussian_blur_surface (cairo_surface_t *in,
int x;
/* twice the size so we can have the source pixels and the blurred pixels */
col_buffer = g_new (guchar, height * bpp * 2);
col_buffer = g_new0 (guchar, height * bpp * 2);
col1 = col_buffer;
col2 = col_buffer + height * bpp;
......@@ -2377,7 +2377,7 @@ rsvg_filter_primitive_color_matrix_set_atts (RsvgNode *node, gpointer impl, Rsvg
if ((value = rsvg_property_bag_lookup (atts, "values"))) {
unsigned int i;
double *temp = rsvg_css_parse_number_list (value, &listlen);
filter->KernelMatrix = g_new (int, listlen);
filter->KernelMatrix = g_new0 (int, listlen);
for (i = 0; i < listlen; i++)
filter->KernelMatrix[i] = temp[i] * 255.;
g_free (temp);
......@@ -2739,7 +2739,7 @@ rsvg_node_component_transfer_function_set_atts (RsvgNode *node, gpointer impl, R
unsigned int i;
double *temp = rsvg_css_parse_number_list (value,
&data->nbTableValues);
data->tableValues = g_new (gint, data->nbTableValues);
data->tableValues = g_new0 (gint, data->nbTableValues);
for (i = 0; i < data->nbTableValues; i++)
data->tableValues[i] = temp[i] * 255.;
g_free (temp);
......
......@@ -110,7 +110,7 @@ rsvg_new_clip_path (const char *element_name, RsvgNode *parent)
{
RsvgClipPath *clip_path;
clip_path = g_new (RsvgClipPath, 1);
clip_path = g_new0 (RsvgClipPath, 1);
clip_path->units = userSpaceOnUse;
return rsvg_rust_cnode_new (RSVG_NODE_TYPE_CLIP_PATH,
......
......@@ -39,11 +39,11 @@
static RsvgPaintServer *
rsvg_paint_server_solid (guint32 argb)
{
RsvgPaintServer *result = g_new (RsvgPaintServer, 1);
RsvgPaintServer *result = g_new0 (RsvgPaintServer, 1);
result->refcnt = 1;
result->type = RSVG_PAINT_SERVER_SOLID;
result->core.color = g_new (RsvgSolidColor, 1);
result->core.color = g_new0 (RsvgSolidColor, 1);
result->core.color->argb = argb;
result->core.color->currentcolor = FALSE;
......@@ -53,11 +53,11 @@ rsvg_paint_server_solid (guint32 argb)
static RsvgPaintServer *
rsvg_paint_server_solid_current_color (void)
{
RsvgPaintServer *result = g_new (RsvgPaintServer, 1);
RsvgPaintServer *result = g_new0 (RsvgPaintServer, 1);
result->refcnt = 1;
result->type = RSVG_PAINT_SERVER_SOLID;
result->core.color = g_new (RsvgSolidColor, 1);
result->core.color = g_new0 (RsvgSolidColor, 1);
result->core.color->currentcolor = TRUE;
return result;
......@@ -66,7 +66,7 @@ rsvg_paint_server_solid_current_color (void)
static RsvgPaintServer *
rsvg_paint_server_iri (char *iri, gboolean has_alternate, RsvgSolidColor alternate)
{
RsvgPaintServer *result = g_new (RsvgPaintServer, 1);
RsvgPaintServer *result = g_new0 (RsvgPaintServer, 1);
result->refcnt = 1;
result->type = RSVG_PAINT_SERVER_IRI;
......
......@@ -66,7 +66,7 @@ style_value_data_new (const gchar *value, gboolean important)
{
StyleValueData *ret;
ret = g_new (StyleValueData, 1);
ret = g_new0 (StyleValueData, 1);
ret->value = g_strdup (value);
ret->important = important;
......@@ -282,7 +282,7 @@ rsvg_state_clone (RsvgState * dst, const RsvgState * src)
dst->styles = g_hash_table_ref (src->styles);
if (src->dash.n_dash > 0) {
dst->dash.dash = g_new (gdouble, src->dash.n_dash);
dst->dash.dash = g_new0 (gdouble, src->dash.n_dash);
for (i = 0; i < src->dash.n_dash; i++)
dst->dash.dash[i] = src->dash.dash[i];
}
......@@ -409,7 +409,7 @@ rsvg_state_inherit_run (RsvgState * dst, const RsvgState * src,
if (dst->has_dash)
g_free (dst->dash.dash);
dst->dash.dash = g_new (gdouble, src->dash.n_dash);
dst->dash.dash = g_new0 (gdouble, src->dash.n_dash);
dst->dash.n_dash = src->dash.n_dash;
for (i = 0; i < src->dash.n_dash; i++)
dst->dash.dash[i] = src->dash.dash[i];
......@@ -897,7 +897,7 @@ rsvg_parse_style_pair (RsvgState * state,
is_even = (n_dashes % 2 == 0);
state->dash.n_dash = (is_even ? n_dashes : n_dashes * 2);
state->dash.dash = g_new (double, state->dash.n_dash);
state->dash.dash = g_new0 (double, state->dash.n_dash);
/* TODO: handle negative value == error case */
......@@ -1328,7 +1328,7 @@ rsvg_lookup_apply_css_style (RsvgHandle * ctx, const char *target, RsvgState * s
styles = g_hash_table_lookup (ctx->priv->css_props, target);
if (styles != NULL) {
StylesData *data = g_new (StylesData, 1);
StylesData *data = g_new0 (StylesData, 1);
data->ctx = ctx;
data->state = state;
g_hash_table_foreach (styles, (GHFunc) apply_style, data);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment