From: Michal Szczecinski Date: Fri, 18 Dec 2020 12:33:16 +0000 (+0100) Subject: evas vector: fixed dash getter. X-Git-Tag: accepted/tizen/unified/20210104.130306~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1418c1aae70dda092642d2fe2a0072adb61cb875;p=platform%2Fupstream%2Fefl.git evas vector: fixed dash getter. Dash properties getter was return wrong values which may cause crashes or unexpedcted behaviour. Change-Id: I1f42e40ec69bee219e0e25d19c65090138fbfd3b --- diff --git a/src/lib/evas/canvas/efl_canvas_vg_shape.c b/src/lib/evas/canvas/efl_canvas_vg_shape.c index c401e04..91a80b3 100644 --- a/src/lib/evas/canvas/efl_canvas_vg_shape.c +++ b/src/lib/evas/canvas/efl_canvas_vg_shape.c @@ -1055,17 +1055,17 @@ evas_vg_shape_stroke_dash_get(Evas_Vg_Shape *obj, const Evas_Vg_Dash **dash, uns tvg_shape_get_stroke_dash(_get_tvg_shape(obj), &dashPattern, &cnt); if (!cnt) return; - d = malloc(sizeof(Evas_Vg_Dash) * cnt / DASH_PATTERN_EL_SIZE); + d = calloc(cnt / DASH_PATTERN_EL_SIZE, sizeof(Evas_Vg_Dash)); if (!d) return; - for (i = 0; i < cnt; i += DASH_PATTERN_EL_SIZE) + for (i = 0; i < cnt / DASH_PATTERN_EL_SIZE; ++i) { - d[i].length = dashPattern[i]; - d[i].gap = dashPattern[i+1]; + d[i].length = dashPattern[2 * i]; + d[i].gap = dashPattern[(2 * i) + 1]; } *dash = d; - *length = cnt; + *length = cnt / 2; #else efl_gfx_shape_stroke_dash_get(obj, (const Efl_Gfx_Dash **)dash, length); #endif