From: Seoyeon Kim Date: Mon, 8 May 2017 07:42:22 +0000 (+0900) Subject: Check NULL pointer dereference of the return value X-Git-Tag: dali_1.2.40~6^2 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git;a=commitdiff_plain;h=722841a906467435b9265313f12d8a606bfde759 Check NULL pointer dereference of the return value - Return value of FcPatternCreate() can be dereferenced at font-client-plugin-impl.cpp - Return value of a function 'dynamic_cast' can be dereferenced at window-impl-ecore-wl.cpp Change-Id: I7148c301a8aef83d4c730b7a1d882eade54579da Signed-off-by: Seoyeon Kim --- diff --git a/adaptors/ecore/wayland/window-impl-ecore-wl.cpp b/adaptors/ecore/wayland/window-impl-ecore-wl.cpp index 5c0523c..564999f 100644 --- a/adaptors/ecore/wayland/window-impl-ecore-wl.cpp +++ b/adaptors/ecore/wayland/window-impl-ecore-wl.cpp @@ -237,31 +237,35 @@ void Window::ShowIndicator( Dali::Window::IndicatorVisibleMode visibleMode ) ECore::WindowRenderSurface* wlSurface( dynamic_cast< ECore::WindowRenderSurface * >( mSurface ) ); DALI_ASSERT_DEBUG(wlSurface); - Ecore_Wl_Window* wlWindow = wlSurface->GetWlWindow(); - mIndicatorVisible = visibleMode; - - if ( mIndicatorVisible == Dali::Window::VISIBLE ) + if( wlSurface ) { - // when the indicator is visible, set proper mode for indicator server according to bg mode - if ( mIndicatorOpacityMode == Dali::Window::OPAQUE ) - { - ecore_wl_window_indicator_opacity_set(wlWindow, ECORE_WL_INDICATOR_OPAQUE); - } - else if ( mIndicatorOpacityMode == Dali::Window::TRANSLUCENT ) + Ecore_Wl_Window* wlWindow = wlSurface->GetWlWindow(); + + mIndicatorVisible = visibleMode; + + if ( mIndicatorVisible == Dali::Window::VISIBLE ) { - ecore_wl_window_indicator_opacity_set(wlWindow, ECORE_WL_INDICATOR_TRANSLUCENT); + // when the indicator is visible, set proper mode for indicator server according to bg mode + if ( mIndicatorOpacityMode == Dali::Window::OPAQUE ) + { + ecore_wl_window_indicator_opacity_set(wlWindow, ECORE_WL_INDICATOR_OPAQUE); + } + else if ( mIndicatorOpacityMode == Dali::Window::TRANSLUCENT ) + { + ecore_wl_window_indicator_opacity_set(wlWindow, ECORE_WL_INDICATOR_TRANSLUCENT); + } + else if ( mIndicatorOpacityMode == Dali::Window::TRANSPARENT ) + { + ecore_wl_window_indicator_opacity_set(wlWindow, ECORE_WL_INDICATOR_OPAQUE); + } } - else if ( mIndicatorOpacityMode == Dali::Window::TRANSPARENT ) + else { - ecore_wl_window_indicator_opacity_set(wlWindow, ECORE_WL_INDICATOR_OPAQUE); + // when the indicator is not visible, set TRANSPARENT mode for indicator server + ecore_wl_window_indicator_opacity_set(wlWindow, ECORE_WL_INDICATOR_TRANSPARENT); // it means hidden indicator } } - else - { - // when the indicator is not visible, set TRANSPARENT mode for indicator server - ecore_wl_window_indicator_opacity_set(wlWindow, ECORE_WL_INDICATOR_TRANSPARENT); // it means hidden indicator - } DoShowIndicator( mIndicatorOrientation ); } diff --git a/text/dali/internal/text-abstraction/font-client-plugin-impl.cpp b/text/dali/internal/text-abstraction/font-client-plugin-impl.cpp index 68399fc..dc09c0e 100644 --- a/text/dali/internal/text-abstraction/font-client-plugin-impl.cpp +++ b/text/dali/internal/text-abstraction/font-client-plugin-impl.cpp @@ -1107,6 +1107,11 @@ FcPattern* FontClient::Plugin::CreateFontFamilyPattern( const FontDescription& f // a pattern holds a set of names, each name refers to a property of the font FcPattern* fontFamilyPattern = FcPatternCreate(); + if( !fontFamilyPattern ) + { + return NULL; + } + // add a property to the pattern for the font family FcPatternAddString( fontFamilyPattern, FC_FAMILY, reinterpret_cast( fontDescription.family.c_str() ) );