Blame view

buildroot/buildroot-2016.08.1/package/bellagio/0004-segfault-on-removeFromWaitResource.patch 1.52 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  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
  ", __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
  ", __func__);
  +			return OMX_ErrorNone;
   		}
   		i++;
   	}
  -	if (indexComponent <0) {
  -		// No resource to be handled
  -		DEBUG(DEB_LEV_ERR, "In %s No resource to be handled
  ", __func__);
  -		return OMX_ErrorNone;
  -	}
  -	DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s
  ", __func__);
  +	// No resource to be handled
  +	DEBUG(DEB_LEV_ERR, "In %s No resource to be handled
  ", __func__);
   	return OMX_ErrorNone;
   }