summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2013-04-26 14:02:46 +0800
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>2013-08-27 11:16:44 +0200
commita211625cc6b4478988db5f81a26254d544f5e545 (patch)
treeeeaa5370a4d8be5361ad6259849b906630901684
parenta68b919e7c3e8449a5d3b91689f34c04fb39940c (diff)
downloadlibva-a211625cc6b4478988db5f81a26254d544f5e545.tar.gz
Check the returned handle
This is to fix klockwork critical issue. Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
-rw-r--r--va/glx/va_glx_impl.c4
-rw-r--r--va/x11/va_fglrx.c10
2 files changed, 7 insertions, 7 deletions
diff --git a/va/glx/va_glx_impl.c b/va/glx/va_glx_impl.c
index 5299589..4e3f629 100644
--- a/va/glx/va_glx_impl.c
+++ b/va/glx/va_glx_impl.c
@@ -151,12 +151,12 @@ static GLXGetProcAddressProc get_proc_address_func(void)
dlerror();
get_proc_func = (GLXGetProcAddressProc)
dlsym(RTLD_DEFAULT, "glXGetProcAddress");
- if (!dlerror())
+ if (!dlerror() && get_proc_func)
return get_proc_func;
get_proc_func = (GLXGetProcAddressProc)
dlsym(RTLD_DEFAULT, "glXGetProcAddressARB");
- if (!dlerror())
+ if (!dlerror() && get_proc_func)
return get_proc_func;
return get_proc_address_default;
diff --git a/va/x11/va_fglrx.c b/va/x11/va_fglrx.c
index 77149cb..a437bce 100644
--- a/va/x11/va_fglrx.c
+++ b/va/x11/va_fglrx.c
@@ -153,27 +153,27 @@ Bool VA_FGLRXGetClientDriverName( Display *dpy, int screen,
dlerror();
ADL_Main_Control_Create = (ADL_MAIN_CONTROL_CREATE)
dlsym(libadl_handle,"ADL_Main_Control_Create");
- if (dlerror())
+ if (dlerror() || !ADL_Main_Control_Create)
goto end;
ADL_Main_Control_Destroy = (ADL_MAIN_CONTROL_DESTROY)
dlsym(libadl_handle,"ADL_Main_Control_Destroy");
- if (dlerror())
+ if (dlerror() || !ADL_Main_Control_Destroy)
goto end;
ADL_Adapter_NumberOfAdapters_Get = (ADL_ADAPTER_NUMBEROFADAPTERS_GET)
dlsym(libadl_handle,"ADL_Adapter_NumberOfAdapters_Get");
- if (dlerror())
+ if (dlerror() || !ADL_Adapter_NumberOfAdapters_Get)
goto end;
ADL_Adapter_AdapterInfo_Get = (ADL_ADAPTER_ADAPTERINFO_GET)
dlsym(libadl_handle,"ADL_Adapter_AdapterInfo_Get");
- if (dlerror())
+ if (dlerror() || !ADL_Adapter_AdapterInfo_Get)
goto end;
ADL_Adapter_XScreenInfo_Get = (ADL_ADAPTER_XSCREENINFO_GET)
dlsym(libadl_handle,"ADL_Adapter_XScreenInfo_Get");
- if (dlerror())
+ if (dlerror() || !ADL_Adapter_XScreenInfo_Get)
goto end;
if (ADL_Main_Control_Create(ADL_Main_Memory_Alloc, 1) != ADL_OK)