hc
2023-11-22 f743a7adbd6e230d66a6206fa115b59fec2d88eb
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
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;
 }