kumquat-buildroot/package/multimedia/bellagio/bellagio-0.9.3-segfault-on-removeFromWaitResource.patch

38 lines
1.5 KiB
Diff
Raw Normal View History

We always access globalComponentList[] at indexComponent=-1 which causes a
segfault. Use i as the index instead.
Signed-off-by: Qais Yousef <qais.yousef@imgtec.com>
--- bellagio-0.9.3/src/omx_reference_resource_manager.c.old 2012-03-13 10:15:25.743940980 +0000
+++ bellagio-0.9.3/src/omx_reference_resource_manager.c 2012-03-13 10:18:02.201971009 +0000
@@ -485,7 +485,6 @@
OMX_ERRORTYPE RM_removeFromWaitForResource(OMX_COMPONENTTYPE *openmaxStandComp) {
omx_base_component_PrivateType* omx_base_component_Private;
int i = 0;
- int indexComponent = -1;
DEBUG(DEB_LEV_FUNCTION_NAME, "In %s\n", __func__);
omx_base_component_Private = (omx_base_component_PrivateType*)openmaxStandComp->pComponentPrivate;
@@ -493,16 +492,13 @@
while(listOfcomponentRegistered[i].component_name != NULL ) {
if (!strcmp(listOfcomponentRegistered[i].component_name, omx_base_component_Private->name)) {
// found component in the list of the resource manager
- removeElemFromList(&globalComponentList[indexComponent], openmaxStandComp);
- break;
+ removeElemFromList(&globalComponentList[i], openmaxStandComp);
+ DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__);
+ return OMX_ErrorNone;
}
i++;
}
- if (indexComponent <0) {
- // No resource to be handled
- DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__);
- return OMX_ErrorNone;
- }
- DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__);
+ // No resource to be handled
+ DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__);
return OMX_ErrorNone;
}