diff --git a/src/hb-object-private.h b/src/hb-object-private.h index 610ae6832e56d1bf2ebc20b6b83f24ebbbcedee7..163c5c180518a9c455f8b31b962b1894f26d752c 100644 --- a/src/hb-object-private.h +++ b/src/hb-object-private.h @@ -83,10 +83,12 @@ typedef struct { #define HB_OBJECT_DO_CREATE(Type, obj) \ HB_LIKELY (( \ - (obj) = (Type *) calloc (1, sizeof (Type)), \ - HB_OBJECT_DO_INIT_EXPR (obj), \ - HB_OBJECT_DEBUG_OUT (obj), \ - (obj) \ + ( \ + ((obj) = (Type *) calloc (1, sizeof (Type))) && \ + HB_OBJECT_DO_INIT_EXPR (obj) && \ + HB_OBJECT_DEBUG_OUT (obj) \ + ), \ + (obj) \ )) #define HB_OBJECT_DO_REFERENCE(obj) \