hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9b7d71df79622246dc325ee70e0a7d23338eb9b8

commit 9b7d71df79622246dc325ee70e0a7d23338eb9b8
Author: Hermet Park <hermetp...@gmail.com>
Date:   Thu Aug 8 23:34:02 2019 +0900

    ector: ++safety.
    
    null handling just in corner case.
---
 src/lib/ector/software/ector_software_rasterizer.c | 3 +--
 src/lib/ector/software/ector_software_surface.c    | 2 ++
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/ector/software/ector_software_rasterizer.c 
b/src/lib/ector/software/ector_software_rasterizer.c
index fcf34384ad..2b995c9e81 100644
--- a/src/lib/ector/software/ector_software_rasterizer.c
+++ b/src/lib/ector/software/ector_software_rasterizer.c
@@ -270,8 +270,7 @@ _blend_gradient(int count, const SW_FT_Span *spans, void 
*user_data)
    if (data->type == LinearGradient) fetchfunc = &fetch_linear_gradient;
    if (data->type == RadialGradient) fetchfunc = &fetch_radial_gradient;
 
-   if (!fetchfunc)
-     return;
+   if (!fetchfunc || !data->raster_buffer->pixels.u32) return;
 
    comp_func = efl_draw_func_span_get(data->op, data->mul_col, 
data->gradient->alpha);
 
diff --git a/src/lib/ector/software/ector_software_surface.c 
b/src/lib/ector/software/ector_software_surface.c
index 1008fe52b6..40dbe67e69 100644
--- a/src/lib/ector/software/ector_software_surface.c
+++ b/src/lib/ector/software/ector_software_surface.c
@@ -259,6 +259,8 @@ _ector_software_surface_ector_surface_draw_image(Eo *obj 
EINA_UNUSED,
    const int pix_stride = pd->rasterizer->fill_data.raster_buffer->stride / 4;
 
    uint32_t *src = bd->pixels.u32;
+   if (!src) return EINA_FALSE;
+
    for (unsigned int local_y = 0; local_y <  bd->generic->h; local_y++)
      {
         uint32_t *dst = pd->rasterizer->fill_data.raster_buffer->pixels.u32 + 
(x + ((local_y + y) * pix_stride));

-- 


Reply via email to