Fix reference counting bug 86/130486/1
authorHyeongsik Min <hyeongsik.min@samsung.com>
Mon, 22 May 2017 11:10:43 +0000 (20:10 +0900)
committerHyeongsik Min <hyeongsik.min@samsung.com>
Mon, 22 May 2017 11:13:08 +0000 (20:13 +0900)
Change-Id: If8be15c2815a11cc63d477e0af7fa79729a62966
Signed-off-by: Hyeongsik Min <hyeongsik.min@samsung.com>
src/peripheral_gdbus_gpio.c
src/peripheral_gdbus_i2c.c
src/peripheral_gdbus_pwm.c
src/peripheral_gdbus_uart.c

index 2027f3d..1c0e90f 100644 (file)
@@ -32,8 +32,10 @@ void gpio_proxy_init(void)
 {
        GError *error = NULL;
 
-       if (gpio_proxy != NULL)
+       if (gpio_proxy != NULL) {
+               g_object_ref(gpio_proxy);
                return;
+       }
 
        gpio_proxy = peripheral_io_gdbus_gpio_proxy_new_for_bus_sync(
                G_BUS_TYPE_SYSTEM,
@@ -58,7 +60,6 @@ void gpio_proxy_deinit()
 {
        if (gpio_proxy) {
                g_object_unref(gpio_proxy);
-               gpio_proxy = NULL;
        }
 }
 
index ce42ce5..2e176ef 100644 (file)
@@ -29,8 +29,10 @@ void i2c_proxy_init(void)
 {
        GError *error = NULL;
 
-       if (i2c_proxy != NULL)
+       if (i2c_proxy != NULL) {
+               g_object_ref(i2c_proxy);
                return;
+       }
 
        i2c_proxy = peripheral_io_gdbus_i2c_proxy_new_for_bus_sync(
                G_BUS_TYPE_SYSTEM,
@@ -45,7 +47,6 @@ void i2c_proxy_deinit()
 {
        if (i2c_proxy) {
                g_object_unref(i2c_proxy);
-               i2c_proxy = NULL;
        }
 }
 
index 1467c8f..31b2a78 100644 (file)
@@ -29,8 +29,10 @@ void pwm_proxy_init(void)
 {
        GError *error = NULL;
 
-       if (pwm_proxy != NULL)
+       if (pwm_proxy != NULL) {
+               g_object_ref(pwm_proxy);
                return;
+       }
 
        pwm_proxy = peripheral_io_gdbus_pwm_proxy_new_for_bus_sync(
                G_BUS_TYPE_SYSTEM,
@@ -45,7 +47,6 @@ void pwm_proxy_deinit()
 {
        if (pwm_proxy) {
                g_object_unref(pwm_proxy);
-               pwm_proxy = NULL;
        }
 }
 
index fc94a89..cf51b22 100644 (file)
@@ -29,8 +29,10 @@ void uart_proxy_init(void)
 {
        GError *error = NULL;
 
-       if (uart_proxy != NULL)
+       if (uart_proxy != NULL) {
+               g_object_ref(uart_proxy);
                return;
+       }
 
        uart_proxy = peripheral_io_gdbus_uart_proxy_new_for_bus_sync(
                G_BUS_TYPE_SYSTEM,
@@ -45,7 +47,6 @@ void uart_proxy_deinit()
 {
        if (uart_proxy) {
                g_object_unref(uart_proxy);
-               uart_proxy = NULL;
        }
 }