]> git.proxmox.com Git - mirror_qemu.git/blobdiff - qom/object.c
9pfs: refactor 'name_idx' -> 'nwalked' in v9fs_walk()
[mirror_qemu.git] / qom / object.c
index 9f7a33139d4f07c00fa2a4cd16c76f01a15f4362..d34608558e9e5e53f4b363774f06b810f49ca36c 100644 (file)
@@ -16,6 +16,7 @@
 #include "qom/object.h"
 #include "qom/object_interfaces.h"
 #include "qemu/cutils.h"
+#include "qemu/memalign.h"
 #include "qapi/visitor.h"
 #include "qapi/string-input-visitor.h"
 #include "qapi/string-output-visitor.h"
@@ -1167,10 +1168,14 @@ GSList *object_class_get_list_sorted(const char *implements_type,
 Object *object_ref(void *objptr)
 {
     Object *obj = OBJECT(objptr);
+    uint32_t ref;
+
     if (!obj) {
         return NULL;
     }
-    qatomic_inc(&obj->ref);
+    ref = qatomic_fetch_inc(&obj->ref);
+    /* Assert waaay before the integer overflows */
+    g_assert(ref < INT_MAX);
     return obj;
 }