From 50aa37790f3c5000e5d1ecc3e24858940250d1ee Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Fri, 9 Sep 2016 15:05:00 -0400 Subject: [PATCH] ecore-drm2: Add missing EINA_SAFETY checks for public facing API functions Signed-off-by: Chris Michael --- src/lib/ecore_drm2/ecore_drm2_fb.c | 14 +++++++++++--- src/lib/ecore_drm2/ecore_drm2_outputs.c | 4 ++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore_drm2/ecore_drm2_fb.c b/src/lib/ecore_drm2/ecore_drm2_fb.c index 0cbd4be3aa..14f85c821a 100644 --- a/src/lib/ecore_drm2/ecore_drm2_fb.c +++ b/src/lib/ecore_drm2/ecore_drm2_fb.c @@ -224,7 +224,8 @@ ecore_drm2_fb_dirty(Ecore_Drm2_Fb *fb, Eina_Rectangle *rects, unsigned int count #endif } -static void _release_buffer(Ecore_Drm2_Output *output, Ecore_Drm2_Fb *b) +static void +_release_buffer(Ecore_Drm2_Output *output, Ecore_Drm2_Fb *b) { b->busy = EINA_FALSE; if (output->release_cb) output->release_cb(output->release_data, b); @@ -233,6 +234,8 @@ static void _release_buffer(Ecore_Drm2_Output *output, Ecore_Drm2_Fb *b) EAPI Eina_Bool ecore_drm2_fb_flip_complete(Ecore_Drm2_Output *output) { + EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE); + if (output->current && (output->current != output->pending)) _release_buffer(output, output->current); output->current = output->pending; @@ -319,18 +322,22 @@ ecore_drm2_fb_flip(Ecore_Drm2_Fb *fb, Ecore_Drm2_Output *output) EAPI Eina_Bool ecore_drm2_fb_busy_get(Ecore_Drm2_Fb *fb) { + EINA_SAFETY_ON_NULL_RETURN_VAL(fb, EINA_FALSE); return fb->busy; } EAPI void ecore_drm2_fb_busy_set(Ecore_Drm2_Fb *fb, Eina_Bool busy) { + EINA_SAFETY_ON_NULL_RETURN(fb); fb->busy = busy; } EAPI void ecore_drm2_output_fb_release(Ecore_Drm2_Output *o) { + EINA_SAFETY_ON_NULL_RETURN(o); + if (o->next) { _release_buffer(o, o->next); @@ -358,7 +365,8 @@ ecore_drm2_output_fb_release(Ecore_Drm2_Output *o) } EAPI void * -ecore_drm2_fb_bo_get(Ecore_Drm2_Fb *f) +ecore_drm2_fb_bo_get(Ecore_Drm2_Fb *fb) { - return f->gbm_bo; + EINA_SAFETY_ON_NULL_RETURN_VAL(fb, NULL); + return fb->gbm_bo; } diff --git a/src/lib/ecore_drm2/ecore_drm2_outputs.c b/src/lib/ecore_drm2/ecore_drm2_outputs.c index dff74616be..989114749e 100644 --- a/src/lib/ecore_drm2/ecore_drm2_outputs.c +++ b/src/lib/ecore_drm2/ecore_drm2_outputs.c @@ -1200,12 +1200,16 @@ next: EAPI void ecore_drm2_output_user_data_set(Ecore_Drm2_Output *o, void *data) { + EINA_SAFETY_ON_NULL_RETURN(o); + o->user_data = data; } EAPI void ecore_drm2_output_release_handler_set(Ecore_Drm2_Output *o, Ecore_Drm2_Release_Handler cb, void *data) { + EINA_SAFETY_ON_NULL_RETURN(o); + o->release_data = data; o->release_cb = cb; }