[jbig2-cvs] rev 383 - trunk
giles at ghostscript.com
giles at ghostscript.com
Mon Jan 3 20:41:56 PST 2005
Author: giles
Date: 2005-01-03 20:41:56 -0800 (Mon, 03 Jan 2005)
New Revision: 383
Modified:
trunk/jbig2_metadata.c
Log:
Properly free tag and value strings from inside the metadata struct. We
now assume we own those pointers, which is fine if jbig2_metadata_add()
is used to construct them.
Modified: trunk/jbig2_metadata.c
===================================================================
--- trunk/jbig2_metadata.c 2005-01-04 04:40:18 UTC (rev 382)
+++ trunk/jbig2_metadata.c 2005-01-04 04:41:56 UTC (rev 383)
@@ -49,8 +49,19 @@
void jbig2_metadata_free(Jbig2Ctx *ctx, Jbig2Metadata *md)
{
- if (md->keys) jbig2_free(ctx->allocator, md->keys);
- if (md->values) jbig2_free(ctx->allocator, md->values);
+ int i;
+
+ if (md->keys) {
+ /* assume we own the pointers */
+ for (i = 0; i < md->entries; i++)
+ jbig2_free(ctx->allocator, md->keys[i]);
+ jbig2_free(ctx->allocator, md->keys);
+ }
+ if (md->values) {
+ for (i = 0; i < md->entries; i++)
+ jbig2_free(ctx->allocator, md->values[i]);
+ jbig2_free(ctx->allocator, md->values);
+ }
jbig2_free(ctx->allocator, md);
}
More information about the jbig2-cvs
mailing list