diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2010-03-27 17:00:19 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2010-03-27 17:00:19 -0400 |
commit | 5f32f21772954f40d337a1e60299be47fc8be572 (patch) | |
tree | 05bba4c610e36082ee8ede8b72604ccdd1b01c51 /pango | |
parent | f4201009d192300442e76d25a83c0dab8022d0d6 (diff) | |
download | pango-5f32f21772954f40d337a1e60299be47fc8be572.tar.gz |
[HB] Fix leak when duplicating blob
Diffstat (limited to 'pango')
-rw-r--r-- | pango/opentype/hb-blob.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pango/opentype/hb-blob.c b/pango/opentype/hb-blob.c index 3348a38b..3e787fcb 100644 --- a/pango/opentype/hb-blob.c +++ b/pango/opentype/hb-blob.c @@ -359,9 +359,11 @@ hb_blob_try_writable (hb_blob_t *blob) 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) |