summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/cairo-cff-subset.c24
-rw-r--r--src/cairo-damage.c1
-rw-r--r--src/cairo-ft-font.c1
-rw-r--r--src/cairo-image-source.c2
4 files changed, 5 insertions, 23 deletions
diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c
index 8fc130ef6..ed6909bc7 100755
--- a/src/cairo-cff-subset.c
+++ b/src/cairo-cff-subset.c
@@ -1077,24 +1077,19 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr)
element = _cairo_array_index (&index, i);
status = cff_dict_read (font->fd_dict[i], element->data, element->length);
- if (unlikely (status)){
- free(font->fd_dict[i]);
+ if (unlikely (status))
goto fail;
- }
operand = cff_dict_get_operands (font->fd_dict[i], PRIVATE_OP, &size);
if (operand == NULL) {
status = CAIRO_INT_STATUS_UNSUPPORTED;
- free(font->fd_dict[i]);
goto fail;
}
operand = decode_integer (operand, &size);
decode_integer (operand, &offset);
status = cff_dict_init (&font->fd_private_dict[i]);
- if (unlikely (status)){
- free(font->fd_dict[i]);
+ if (unlikely (status))
goto fail;
- }
cff_index_init (&font->fd_local_sub_index[i]);
status = cairo_cff_font_read_private_dict (font,
@@ -1106,28 +1101,19 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr)
&font->fd_nominal_width[i],
font->data + offset,
size);
- if (unlikely (status)){
- free(font->fd_dict[i]);
- free(font->fd_private_dict[i]);
+ if (unlikely (status))
goto fail;
- }
/* Set integer operand to max value to use max size encoding to reserve
* space for any value later */
end_buf = encode_integer_max (buf, 0);
end_buf = encode_integer_max (end_buf, 0);
status = cff_dict_set_operands (font->fd_dict[i], PRIVATE_OP, buf, end_buf - buf);
- if (unlikely (status)){
- free(font->fd_dict[i]);
- free(font->fd_private_dict[i]);
+ if (unlikely (status))
goto fail;
- }
-
- free(font->fd_dict[i]);
- free(font->fd_private_dict[i]);
}
- status = CAIRO_STATUS_SUCCESS;
+ return CAIRO_STATUS_SUCCESS;
fail:
cff_index_fini (&index);
diff --git a/src/cairo-damage.c b/src/cairo-damage.c
index a6bb2261d..47d3a21e5 100644
--- a/src/cairo-damage.c
+++ b/src/cairo-damage.c
@@ -238,6 +238,5 @@ _cairo_damage_reduce (cairo_damage_t *damage)
damage->dirty = 0;
- _cairo_damage_destroy(damage);
return damage;
}
diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
index 94ef2cb5a..c74eaabb6 100644
--- a/src/cairo-ft-font.c
+++ b/src/cairo-ft-font.c
@@ -1318,7 +1318,6 @@ _get_bitmap_surface (FT_Bitmap *bitmap,
_cairo_debug_check_image_surface_is_defined (&image->base);
- free (data);
return CAIRO_STATUS_SUCCESS;
}
diff --git a/src/cairo-image-source.c b/src/cairo-image-source.c
index 520ea0bbd..d811d4536 100644
--- a/src/cairo-image-source.c
+++ b/src/cairo-image-source.c
@@ -1475,8 +1475,6 @@ _pixman_image_for_surface (cairo_image_surface_t *dst,
pixman_image_set_destroy_function (pixman_image,
_acquire_source_cleanup, cleanup);
}
-
- free(cleanup);
}
if (blurred_surface) {