From: Carsten Haitzler (Rasterman) Date: Mon, 24 Jul 2017 04:26:28 +0000 (+0900) Subject: edje_cc - make svg loader (still beta) handle out of memory nicely X-Git-Tag: upstream/1.20.0~139 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8e311db414950e399099acc1c0af620ee2f37b52;p=platform%2Fupstream%2Fefl.git edje_cc - make svg loader (still beta) handle out of memory nicely print ERR and abort. --- diff --git a/src/bin/edje/edje_svg_loader.c b/src/bin/edje/edje_svg_loader.c index beafb48..65e17f1 100644 --- a/src/bin/edje/edje_svg_loader.c +++ b/src/bin/edje/edje_svg_loader.c @@ -1113,7 +1113,15 @@ _attr_parse_polygon_points(const char *str, double **points, int *point_count) tmp[tmp_count++] = num; if (tmp_count == 50) { - point_array = realloc(point_array, (count + tmp_count) * sizeof(double)); + double *tmp; + + tmp = realloc(point_array, (count + tmp_count) * sizeof(double)); + if (!tmp) + { + ERR("allocation for point array failed. out of memory"); + abort(); + } + point_array = tmp; memcpy(&point_array[count], tmp, tmp_count * sizeof(double)); count += tmp_count; tmp_count = 0; @@ -1122,7 +1130,15 @@ _attr_parse_polygon_points(const char *str, double **points, int *point_count) if (tmp_count > 0) { - point_array = realloc(point_array, (count + tmp_count) * sizeof(double)); + double *tmp; + + tmp = realloc(point_array, (count + tmp_count) * sizeof(double)); + if (!tmp) + { + ERR("allocation for point array failed. out of memory"); + abort(); + } + point_array = tmp; memcpy(&point_array[count], tmp, tmp_count * sizeof(double)); count += tmp_count; }