acpi-build: properly decrement objects' reference counters
Object returned by object_property_get_qobject needs its reference counter to be decremented when it is not needed by caller anymore. Signed-off-by: Kirill Batuzov <batuzovk@ispras.ru> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
		
							parent
							
								
									7c38ecd097
								
							
						
					
					
						commit
						097a97a665
					
				| 
						 | 
					@ -156,18 +156,21 @@ static void acpi_get_pm_info(AcpiPmInfo *pm)
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        pm->s3_disabled = false;
 | 
					        pm->s3_disabled = false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    qobject_decref(o);
 | 
				
			||||||
    o = object_property_get_qobject(obj, ACPI_PM_PROP_S4_DISABLED, NULL);
 | 
					    o = object_property_get_qobject(obj, ACPI_PM_PROP_S4_DISABLED, NULL);
 | 
				
			||||||
    if (o) {
 | 
					    if (o) {
 | 
				
			||||||
        pm->s4_disabled = qint_get_int(qobject_to_qint(o));
 | 
					        pm->s4_disabled = qint_get_int(qobject_to_qint(o));
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        pm->s4_disabled = false;
 | 
					        pm->s4_disabled = false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    qobject_decref(o);
 | 
				
			||||||
    o = object_property_get_qobject(obj, ACPI_PM_PROP_S4_VAL, NULL);
 | 
					    o = object_property_get_qobject(obj, ACPI_PM_PROP_S4_VAL, NULL);
 | 
				
			||||||
    if (o) {
 | 
					    if (o) {
 | 
				
			||||||
        pm->s4_val = qint_get_int(qobject_to_qint(o));
 | 
					        pm->s4_val = qint_get_int(qobject_to_qint(o));
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        pm->s4_val = false;
 | 
					        pm->s4_val = false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    qobject_decref(o);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Fill in mandatory properties */
 | 
					    /* Fill in mandatory properties */
 | 
				
			||||||
    pm->sci_int = object_property_get_int(obj, ACPI_PM_PROP_SCI_INT, NULL);
 | 
					    pm->sci_int = object_property_get_int(obj, ACPI_PM_PROP_SCI_INT, NULL);
 | 
				
			||||||
| 
						 | 
					@ -973,6 +976,7 @@ static void build_pci_bus_end(PCIBus *bus, void *bus_state)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    qobject_decref(bsel);
 | 
				
			||||||
    build_free_array(bus_table);
 | 
					    build_free_array(bus_table);
 | 
				
			||||||
    build_pci_bus_state_cleanup(child);
 | 
					    build_pci_bus_state_cleanup(child);
 | 
				
			||||||
    g_free(child);
 | 
					    g_free(child);
 | 
				
			||||||
| 
						 | 
					@ -1362,10 +1366,12 @@ static bool acpi_get_mcfg(AcpiMcfgInfo *mcfg)
 | 
				
			||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    mcfg->mcfg_base = qint_get_int(qobject_to_qint(o));
 | 
					    mcfg->mcfg_base = qint_get_int(qobject_to_qint(o));
 | 
				
			||||||
 | 
					    qobject_decref(o);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    o = object_property_get_qobject(pci_host, PCIE_HOST_MCFG_SIZE, NULL);
 | 
					    o = object_property_get_qobject(pci_host, PCIE_HOST_MCFG_SIZE, NULL);
 | 
				
			||||||
    assert(o);
 | 
					    assert(o);
 | 
				
			||||||
    mcfg->mcfg_size = qint_get_int(qobject_to_qint(o));
 | 
					    mcfg->mcfg_size = qint_get_int(qobject_to_qint(o));
 | 
				
			||||||
 | 
					    qobject_decref(o);
 | 
				
			||||||
    return true;
 | 
					    return true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue