diff options
author | JunsuChoi <jsuya.choi@samsung.com> | 2022-01-12 11:35:31 +0900 |
---|---|---|
committer | Hermet Park <chuneon.park@samsung.com> | 2022-01-12 11:35:31 +0900 |
commit | 7b4c9284a91a8cc1dcb84f7008c82229995f6d89 (patch) | |
tree | f4a017a7e6e494645298911bb3111e8be7474485 | |
parent | ef784708b9278b8ef7131b2ee751e8c737fd3fa3 (diff) | |
download | efl-7b4c9284a91a8cc1dcb84f7008c82229995f6d89.tar.gz |
vg_common_svg: Fix when the number of polygon points is odd
Summary: If the number of points is odd, an overflow occurs in array[i+1].
Test Plan:
Test Svg image
```
<svg xmlns="http://www.w3.org/2000/svg" id="svg1" viewBox="0 0 200 200">
<title>Not enough points</title>
<desc>Must contain at least 4 points</desc>
<polygon id="polygon1" points="20 40 160 40 10" fill="none" stroke="red"/>
<!-- image frame -->
<rect id="frame" x="1" y="1" width="198" height="198" fill="none" stroke="black"/>
</svg>
```
Reviewers: Hermet, raster, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12319
-rw-r--r-- | src/static_libs/vg_common/vg_common_svg.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/static_libs/vg_common/vg_common_svg.c b/src/static_libs/vg_common/vg_common_svg.c index d75486ed58..6efef669d6 100644 --- a/src/static_libs/vg_common/vg_common_svg.c +++ b/src/static_libs/vg_common/vg_common_svg.c @@ -832,7 +832,7 @@ _add_polyline(Efl_VG *vg, double *array, int size, Eina_Bool polygon) if (size < 2) return; efl_gfx_path_append_move_to(vg, array[0], array[1]); - for (i=2; i < size; i+=2) + for (i = 2; i < size - 1; i += 2) efl_gfx_path_append_line_to(vg, array[i], array[i+1]); if (polygon) |