vg_common_svg: check pointer dereference. 45/307045/2 accepted/tizen/unified/20240306.011952 accepted/tizen/unified/toolchain/20240311.065943 accepted/tizen/unified/x/20240307.010829
authorMichal Szczecinski <m.szczecinsk@partner.samsung.com>
Mon, 4 Mar 2024 07:06:06 +0000 (08:06 +0100)
committerChun <jykeon@samsung.com>
Mon, 4 Mar 2024 08:43:56 +0000 (08:43 +0000)
Change-Id: Iee49ae4bbc605926ad4bc068ce88a4406bb83d98

src/static_libs/vg_common/vg_common_svg.c

index ca379cc..693460f 100644 (file)
@@ -1040,6 +1040,8 @@ _create_gradient_node(Efl_VG *vg)
    grad->spread = evas_vg_gradient_spread_get(vg);
    evas_vg_gradient_stop_get(vg, &stops, &count);
 
+   if (!stops) goto error;
+
    for (i = 0; i < count; i++)
      {
         new_stop = calloc(1, sizeof(Evas_Vg_Gradient_Stop));
@@ -1073,6 +1075,9 @@ _create_gradient_node(Efl_VG *vg)
 
    return grad;
 
+error:
+   ERR("Failed to get valid gradient stop description");
+
 oom_error:
    ERR("OOM: Failed calloc()");
    return grad;