summaryrefslogtreecommitdiff
path: root/source/xps/xps-zip.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/xps/xps-zip.c')
-rw-r--r--source/xps/xps-zip.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/source/xps/xps-zip.c b/source/xps/xps-zip.c
index ba9947c7..53ea15f9 100644
--- a/source/xps/xps-zip.c
+++ b/source/xps/xps-zip.c
@@ -95,10 +95,9 @@ xps_read_part(fz_context *ctx, xps_document *doc, char *partname)
fz_write_buffer_byte(ctx, buf, 0); /* zero-terminate */
/* take over the data */
- data = buf->data;
/* size doesn't include the added zero-terminator */
- size = buf->len - 1;
- fz_free(ctx, buf);
+ size = fz_buffer_extract(ctx, buf, &data) - 1;
+ fz_drop_buffer(ctx, buf);
return xps_new_part(ctx, doc, partname, data, size);
}