[libvirt] [PATCH v3 4/5] virobject: Check if @parent is the first member in class
Michal Privoznik
mprivozn at redhat.com
Tue Apr 17 16:01:05 UTC 2018
Our virObject code relies heavily on the fact that the first
member of the class struct is type of virObject (or some
derivation of if). Let's check for that.
Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
src/util/virobject.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/util/virobject.h b/src/util/virobject.h
index ed1a117b09..77ebad1e8b 100644
--- a/src/util/virobject.h
+++ b/src/util/virobject.h
@@ -76,7 +76,8 @@ virClassPtr virClassForObjectRWLockable(void);
# endif
# define VIR_CLASS_NEW(name, prnt) \
- (name##Class = virClassNew(prnt, #name, sizeof(name), name##Dispose))
+ verify_expr(offsetof(name, parent) == 0, \
+ (name##Class = virClassNew(prnt, #name, sizeof(name), name##Dispose)))
virClassPtr
virClassNew(virClassPtr parent,
--
2.16.1
More information about the libvir-list
mailing list