From d4141a44b97377a65e6d2a3e03b3709307af38c1 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Tue, 3 May 2011 00:19:18 -0400 Subject: [PATCH] [blob] Implement sub_blob() in terms of create() Fixes problem with uninitialized sub_blob->mutex among other things. Reported by Bradley Grainger. --- src/hb-blob.cc | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/hb-blob.cc b/src/hb-blob.cc index bcbfa34..8d6d746 100644 --- a/src/hb-blob.cc +++ b/src/hb-blob.cc @@ -127,16 +127,14 @@ hb_blob_create_sub_blob (hb_blob_t *parent, pdata = hb_blob_lock (parent); - blob->data = pdata + offset; - blob->length = MIN (length, parent->length - offset); - hb_mutex_lock (parent->lock); - blob->mode = parent->mode; + blob = hb_blob_create (pdata + offset, + MIN (length, parent->length - offset), + parent->mode, + hb_blob_reference (parent), + (hb_destroy_func_t) _hb_blob_unlock_and_destroy); hb_mutex_unlock (parent->lock); - blob->user_data = hb_blob_reference (parent); - blob->destroy = (hb_destroy_func_t) _hb_blob_unlock_and_destroy; - return blob; } -- 2.7.4