afm-udb: Fix corrupted memory
[src/app-framework-main.git] / src / afm-udb.c
index 26a1f85..be1a5d3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- Copyright 2015, 2016, 2017 IoT.bzh
+ Copyright (C) 2015-2018 IoT.bzh
 
  author: José Bollo <jose.bollo@iot.bzh>
 
@@ -117,7 +117,7 @@ static int append_field(
                        array = json_object_new_array();
                        if (!array)
                                goto error;
-                       json_object_array_add(array, item);
+                       json_object_array_add(array, json_object_get(item));
                        json_object_object_add(object, name, array);
                }
                json_object_array_add(array, data);
@@ -465,12 +465,12 @@ int afm_udb_update(struct afm_udb *afudb)
        tmp = afudb->applications;
        afudb->applications = updt.applications;
        apps_put(&tmp);
-       afm_udb_addref(afudb);
+       afm_udb_unref(afudb);
        return 0;
 
 error:
        apps_put(&updt.applications);
-       afm_udb_addref(afudb);
+       afm_udb_unref(afudb);
        return -1;
 }