| 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; |
| } |