diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2016-10-11 20:39:26 +0800 |
---|---|---|
committer | Sebastian Rasmussen <sebras@gmail.com> | 2016-10-18 21:25:10 +0800 |
commit | 23ac569165b66403abfe72e89007675ceaa9bde0 (patch) | |
tree | af9f03148079f3ac564bc8f6d7c007c16cf8f444 /source/pdf | |
parent | 6dcf860ef683ab416151913150790e61ff26c1b8 (diff) | |
download | mupdf-23ac569165b66403abfe72e89007675ceaa9bde0.tar.xz |
Avoid checking argument to fz_drop_*()/fz_free().
As fz_drop_*()/fz_free() all must handle NULL.
Diffstat (limited to 'source/pdf')
-rw-r--r-- | source/pdf/pdf-annot.c | 3 | ||||
-rw-r--r-- | source/pdf/pdf-cmap.c | 6 | ||||
-rw-r--r-- | source/pdf/pdf-font.c | 12 | ||||
-rw-r--r-- | source/pdf/pdf-js.c | 3 | ||||
-rw-r--r-- | source/pdf/pdf-op-run.c | 39 | ||||
-rw-r--r-- | source/pdf/pdf-page.c | 6 | ||||
-rw-r--r-- | source/pdf/pdf-pattern.c | 6 | ||||
-rw-r--r-- | source/pdf/pdf-pkcs7.c | 3 | ||||
-rw-r--r-- | source/pdf/pdf-shade.c | 3 | ||||
-rw-r--r-- | source/pdf/pdf-type3.c | 3 | ||||
-rw-r--r-- | source/pdf/pdf-xref.c | 18 |
11 files changed, 34 insertions, 68 deletions
diff --git a/source/pdf/pdf-annot.c b/source/pdf/pdf-annot.c index ff878a17..a0220099 100644 --- a/source/pdf/pdf-annot.c +++ b/source/pdf/pdf-annot.c @@ -386,8 +386,7 @@ pdf_load_link_annots(fz_context *ctx, pdf_document *doc, pdf_obj *annots, const static void pdf_drop_annot_imp(fz_context *ctx, pdf_annot *annot) { - if (annot->ap) - pdf_drop_xobject(ctx, annot->ap); + pdf_drop_xobject(ctx, annot->ap); pdf_drop_obj(ctx, annot->obj); } diff --git a/source/pdf/pdf-cmap.c b/source/pdf/pdf-cmap.c index 14652c8a..7238fb42 100644 --- a/source/pdf/pdf-cmap.c +++ b/source/pdf/pdf-cmap.c @@ -8,8 +8,7 @@ void pdf_drop_cmap_imp(fz_context *ctx, fz_storable *cmap_) { pdf_cmap *cmap = (pdf_cmap *)cmap_; - if (cmap->usecmap) - pdf_drop_cmap(ctx, cmap->usecmap); + pdf_drop_cmap(ctx, cmap->usecmap); fz_free(ctx, cmap->ranges); fz_free(ctx, cmap->xranges); fz_free(ctx, cmap->mranges); @@ -43,8 +42,7 @@ pdf_set_usecmap(fz_context *ctx, pdf_cmap *cmap, pdf_cmap *usecmap) { int i; - if (cmap->usecmap) - pdf_drop_cmap(ctx, cmap->usecmap); + pdf_drop_cmap(ctx, cmap->usecmap); cmap->usecmap = pdf_keep_cmap(ctx, usecmap); if (cmap->codespace_len == 0) diff --git a/source/pdf/pdf-font.c b/source/pdf/pdf-font.c index aaab41a5..133462d6 100644 --- a/source/pdf/pdf-font.c +++ b/source/pdf/pdf-font.c @@ -473,14 +473,10 @@ pdf_drop_font_imp(fz_context *ctx, fz_storable *fontdesc_) { pdf_font_desc *fontdesc = (pdf_font_desc *)fontdesc_; - if (fontdesc->font) - fz_drop_font(ctx, fontdesc->font); - if (fontdesc->encoding) - pdf_drop_cmap(ctx, fontdesc->encoding); - if (fontdesc->to_ttf_cmap) - pdf_drop_cmap(ctx, fontdesc->to_ttf_cmap); - if (fontdesc->to_unicode) - pdf_drop_cmap(ctx, fontdesc->to_unicode); + fz_drop_font(ctx, fontdesc->font); + pdf_drop_cmap(ctx, fontdesc->encoding); + pdf_drop_cmap(ctx, fontdesc->to_ttf_cmap); + pdf_drop_cmap(ctx, fontdesc->to_unicode); fz_free(ctx, fontdesc->cid_to_gid); fz_free(ctx, fontdesc->cid_to_ucs); fz_free(ctx, fontdesc->hmtx); diff --git a/source/pdf/pdf-js.c b/source/pdf/pdf-js.c index 4fc6dc98..f3a2ca80 100644 --- a/source/pdf/pdf-js.c +++ b/source/pdf/pdf-js.c @@ -710,8 +710,7 @@ void pdf_enable_js(fz_context *ctx, pdf_document *doc) void pdf_disable_js(fz_context *ctx, pdf_document *doc) { - if (doc->js) - pdf_drop_js(ctx, doc->js); + pdf_drop_js(ctx, doc->js); doc->js = NULL; } diff --git a/source/pdf/pdf-op-run.c b/source/pdf/pdf-op-run.c index bfee0866..89bbf008 100644 --- a/source/pdf/pdf-op-run.c +++ b/source/pdf/pdf-op-run.c @@ -240,12 +240,9 @@ pdf_keep_material(fz_context *ctx, pdf_material *mat) static pdf_material * pdf_drop_material(fz_context *ctx, pdf_material *mat) { - if (mat->colorspace) - fz_drop_colorspace(ctx, mat->colorspace); - if (mat->pattern) - pdf_drop_pattern(ctx, mat->pattern); - if (mat->shade) - fz_drop_shade(ctx, mat->shade); + fz_drop_colorspace(ctx, mat->colorspace); + pdf_drop_pattern(ctx, mat->pattern); + fz_drop_shade(ctx, mat->shade); return mat; } @@ -272,8 +269,7 @@ pdf_unset_pattern(fz_context *ctx, pdf_run_processor *pr, int what) mat = what == PDF_FILL ? &gs->fill : &gs->stroke; if (mat->kind == PDF_MAT_PATTERN) { - if (mat->pattern) - pdf_drop_pattern(ctx, mat->pattern); + pdf_drop_pattern(ctx, mat->pattern); mat->pattern = NULL; mat->kind = PDF_MAT_COLOR; } @@ -298,12 +294,9 @@ pdf_drop_gstate(fz_context *ctx, pdf_gstate *gs) { pdf_drop_material(ctx, &gs->stroke); pdf_drop_material(ctx, &gs->fill); - if (gs->font) - pdf_drop_font(ctx, gs->font); - if (gs->softmask) - pdf_drop_xobject(ctx, gs->softmask); - if (gs->softmask_resources) - pdf_drop_obj(ctx, gs->softmask_resources); + pdf_drop_font(ctx, gs->font); + pdf_drop_xobject(ctx, gs->softmask); + pdf_drop_obj(ctx, gs->softmask_resources); fz_drop_stroke_state(ctx, gs->stroke_state); } @@ -1184,8 +1177,7 @@ pdf_set_shade(fz_context *ctx, pdf_run_processor *pr, int what, fz_shade *shade) mat = what == PDF_FILL ? &gs->fill : &gs->stroke; - if (mat->shade) - fz_drop_shade(ctx, mat->shade); + fz_drop_shade(ctx, mat->shade); mat->kind = PDF_MAT_SHADE; mat->shade = fz_keep_shade(ctx, shade); @@ -1203,14 +1195,12 @@ pdf_set_pattern(fz_context *ctx, pdf_run_processor *pr, int what, pdf_pattern *p mat = what == PDF_FILL ? &gs->fill : &gs->stroke; - if (mat->pattern) - pdf_drop_pattern(ctx, mat->pattern); + pdf_drop_pattern(ctx, mat->pattern); + mat->pattern = NULL; mat->kind = PDF_MAT_PATTERN; if (pat) mat->pattern = pdf_keep_pattern(ctx, pat); - else - mat->pattern = NULL; if (v) pdf_set_color(ctx, pr, what, v); @@ -1701,8 +1691,7 @@ static void pdf_run_Tf(fz_context *ctx, pdf_processor *proc, const char *name, p { pdf_run_processor *pr = (pdf_run_processor *)proc; pdf_gstate *gstate = pr->gstate + pr->gtop; - if (gstate->font) - pdf_drop_font(ctx, gstate->font); + pdf_drop_font(ctx, gstate->font); gstate->font = pdf_keep_font(ctx, font); gstate->size = size; } @@ -2015,10 +2004,8 @@ pdf_drop_run_processor(fz_context *ctx, pdf_processor *proc) pdf_drop_material(ctx, &pr->gstate[0].fill); pdf_drop_material(ctx, &pr->gstate[0].stroke); - if (pr->gstate[0].font) - pdf_drop_font(ctx, pr->gstate[0].font); - if (pr->gstate[0].softmask) - pdf_drop_xobject(ctx, pr->gstate[0].softmask); + pdf_drop_font(ctx, pr->gstate[0].font); + pdf_drop_xobject(ctx, pr->gstate[0].softmask); fz_drop_stroke_state(ctx, pr->gstate[0].stroke_state); while (pr->gstate[0].clip_depth--) diff --git a/source/pdf/pdf-page.c b/source/pdf/pdf-page.c index 73d01480..f0e45402 100644 --- a/source/pdf/pdf-page.c +++ b/source/pdf/pdf-page.c @@ -507,10 +507,8 @@ pdf_drop_page_imp(fz_context *ctx, pdf_page *page) if (page == NULL) return; - if (page->links) - fz_drop_link(ctx, page->links); - if (page->annots) - pdf_drop_annots(ctx, page->annots); + fz_drop_link(ctx, page->links); + pdf_drop_annots(ctx, page->annots); /* doc->focus, when not NULL, refers to one of * the annotations and must be NULLed when the diff --git a/source/pdf/pdf-pattern.c b/source/pdf/pdf-pattern.c index 0e4910f3..2091f400 100644 --- a/source/pdf/pdf-pattern.c +++ b/source/pdf/pdf-pattern.c @@ -16,10 +16,8 @@ static void pdf_drop_pattern_imp(fz_context *ctx, fz_storable *pat_) { pdf_pattern *pat = (pdf_pattern *)pat_; - if (pat->resources) - pdf_drop_obj(ctx, pat->resources); - if (pat->contents) - pdf_drop_obj(ctx, pat->contents); + pdf_drop_obj(ctx, pat->resources); + pdf_drop_obj(ctx, pat->contents); fz_free(ctx, pat); } diff --git a/source/pdf/pdf-pkcs7.c b/source/pdf/pdf-pkcs7.c index 64938fb3..934202e1 100644 --- a/source/pdf/pdf-pkcs7.c +++ b/source/pdf/pdf-pkcs7.c @@ -357,8 +357,7 @@ struct pdf_signer_s void pdf_drop_designated_name(fz_context *ctx, pdf_designated_name *dn) { - if (dn) - fz_free(ctx, dn); + fz_free(ctx, dn); } static void add_from_bags(X509 **pX509, EVP_PKEY **pPkey, STACK_OF(PKCS12_SAFEBAG) *bags, const char *pw); diff --git a/source/pdf/pdf-shade.c b/source/pdf/pdf-shade.c index daa2363a..dd0a9e0a 100644 --- a/source/pdf/pdf-shade.c +++ b/source/pdf/pdf-shade.c @@ -416,8 +416,7 @@ pdf_load_shading_dict(fz_context *ctx, pdf_document *doc, pdf_obj *dict, const f fz_always(ctx) { for (i = 0; i < funcs; i++) - if (func[i]) - fz_drop_function(ctx, func[i]); + fz_drop_function(ctx, func[i]); } fz_catch(ctx) { diff --git a/source/pdf/pdf-type3.c b/source/pdf/pdf-type3.c index 84912772..3992ebbc 100644 --- a/source/pdf/pdf-type3.c +++ b/source/pdf/pdf-type3.c @@ -173,8 +173,7 @@ pdf_load_type3_font(fz_context *ctx, pdf_document *doc, pdf_obj *rdb, pdf_obj *d } fz_catch(ctx) { - if (fontdesc) - pdf_drop_font(ctx, fontdesc); + pdf_drop_font(ctx, fontdesc); fz_rethrow(ctx); } diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c index a054a837..814637b9 100644 --- a/source/pdf/pdf-xref.c +++ b/source/pdf/pdf-xref.c @@ -1605,26 +1605,21 @@ pdf_drop_document_imp(fz_context *ctx, pdf_document *doc) * glyph cache at this point. */ fz_purge_glyph_cache(ctx); - if (doc->js) - pdf_drop_js(ctx, doc->js); + pdf_drop_js(ctx, doc->js); pdf_drop_xref_sections(ctx, doc); fz_free(ctx, doc->xref_index); - if (doc->focus_obj) - pdf_drop_obj(ctx, doc->focus_obj); - if (doc->file) - fz_drop_stream(ctx, doc->file); - if (doc->crypt) - pdf_drop_crypt(ctx, doc->crypt); + pdf_drop_obj(ctx, doc->focus_obj); + fz_drop_stream(ctx, doc->file); + pdf_drop_crypt(ctx, doc->crypt); pdf_drop_obj(ctx, doc->linear_obj); if (doc->linear_page_refs) { for (i=0; i < doc->page_count; i++) - { pdf_drop_obj(ctx, doc->linear_page_refs[i]); - } + fz_free(ctx, doc->linear_page_refs); } fz_free(ctx, doc->hint_page); @@ -1648,9 +1643,8 @@ pdf_drop_document_imp(fz_context *ctx, pdf_document *doc) pdf_drop_resource_tables(ctx, doc); for (i = 0; i < doc->orphans_count; i++) - { pdf_drop_obj(ctx, doc->orphans[i]); - } + fz_free(ctx, doc->orphans); } fz_always(ctx) |