diff --git a/src/hb-object-private.h b/src/hb-object-private.h index 610ae6832..163c5c180 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) \