Fix leak when duplicating blob
diff --git a/src/hb-blob.c b/src/hb-blob.c index b4eccb6..3afad8a 100644 --- a/src/hb-blob.c +++ b/src/hb-blob.c
@@ -366,9 +366,11 @@ fprintf (stderr, "%p %s: dupped successfully -> %p\n", blob, __FUNCTION__, blob->data); #endif memcpy (new_data, blob->data, blob->length); - blob->data = new_data; - blob->mode = HB_MEMORY_MODE_WRITABLE; _hb_blob_destroy_user_data (blob); + blob->mode = HB_MEMORY_MODE_WRITABLE; + blob->data = new_data; + blob->destroy = free; + blob->user_data = new_data; } } else if (blob->mode == HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE)