forked from enlightenment/efl
evas vg: check for OOM when calloc()
This commit is contained in:
parent
0a47a0ef32
commit
9a5dacdb36
|
@ -899,6 +899,7 @@ _create_gradient_node(Efl_VG *vg)
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
new_stop = calloc(1, sizeof(Efl_Gfx_Gradient_Stop));
|
new_stop = calloc(1, sizeof(Efl_Gfx_Gradient_Stop));
|
||||||
|
if (!new_stop) goto oom_error;
|
||||||
memcpy(new_stop, stops, sizeof(Efl_Gfx_Gradient_Stop));
|
memcpy(new_stop, stops, sizeof(Efl_Gfx_Gradient_Stop));
|
||||||
grad->stops = eina_list_append(grad->stops, new_stop);
|
grad->stops = eina_list_append(grad->stops, new_stop);
|
||||||
stops++;
|
stops++;
|
||||||
|
@ -907,6 +908,7 @@ _create_gradient_node(Efl_VG *vg)
|
||||||
{
|
{
|
||||||
grad->type = SVG_LINEAR_GRADIENT;
|
grad->type = SVG_LINEAR_GRADIENT;
|
||||||
grad->linear = calloc(1, sizeof(Svg_Linear_Gradient));
|
grad->linear = calloc(1, sizeof(Svg_Linear_Gradient));
|
||||||
|
if (!grad->linear) goto oom_error;
|
||||||
evas_vg_gradient_linear_start_get(vg, &grad->linear->x1, &grad->linear->y1);
|
evas_vg_gradient_linear_start_get(vg, &grad->linear->x1, &grad->linear->y1);
|
||||||
evas_vg_gradient_linear_end_get(vg, &grad->linear->x2, &grad->linear->y2);
|
evas_vg_gradient_linear_end_get(vg, &grad->linear->x2, &grad->linear->y2);
|
||||||
}
|
}
|
||||||
|
@ -914,12 +916,18 @@ _create_gradient_node(Efl_VG *vg)
|
||||||
{
|
{
|
||||||
grad->type = SVG_RADIAL_GRADIENT;
|
grad->type = SVG_RADIAL_GRADIENT;
|
||||||
grad->radial = calloc(1, sizeof(Svg_Radial_Gradient));
|
grad->radial = calloc(1, sizeof(Svg_Radial_Gradient));
|
||||||
|
if (!grad->radial) goto oom_error;
|
||||||
evas_vg_gradient_radial_center_get(vg, &grad->radial->cx, &grad->radial->cy);
|
evas_vg_gradient_radial_center_get(vg, &grad->radial->cx, &grad->radial->cy);
|
||||||
evas_vg_gradient_radial_focal_get(vg, &grad->radial->fx, &grad->radial->fy);
|
evas_vg_gradient_radial_focal_get(vg, &grad->radial->fx, &grad->radial->fy);
|
||||||
grad->radial->r = evas_vg_gradient_radial_radius_get(vg);
|
grad->radial->r = evas_vg_gradient_radial_radius_get(vg);
|
||||||
}
|
}
|
||||||
|
|
||||||
return grad;
|
return grad;
|
||||||
|
|
||||||
|
oom_error:
|
||||||
|
ERR("OOM: Failed calloc()");
|
||||||
|
return grad;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in New Issue