Clean up some PDF code

pull/6/head
Shawn Webb 11 years ago
parent c147fd0180
commit 69080de380
  1. 19
      libclamav/pdf.c

@ -2397,6 +2397,7 @@ int cli_pdf(const char *dir, cli_ctx *ctx, off_t offset)
if (!pdfver) {
cli_dbgmsg("cli_pdf: no PDF- header found\n");
noisy_warnmsg("cli_pdf: no PDF- header found\n");
pdf_export_json(&pdf);
return CL_SUCCESS;
}
@ -2424,6 +2425,7 @@ int cli_pdf(const char *dir, cli_ctx *ctx, off_t offset)
eofmap = fmap_need_off_once(map, map_off, bytesleft);
if (!eofmap) {
cli_errmsg("cli_pdf: mmap() failed (2)\n");
pdf_export_json(&pdf);
return CL_EMAP;
}
@ -2478,6 +2480,7 @@ int cli_pdf(const char *dir, cli_ctx *ctx, off_t offset)
pdf.map = fmap_need_off(map, offset, size);
if (!pdf.map) {
cli_errmsg("cli_pdf: mmap() failed (3)\n");
pdf_export_json(&pdf);
return CL_EMAP;
}
@ -2490,6 +2493,7 @@ int cli_pdf(const char *dir, cli_ctx *ctx, off_t offset)
rc = CL_CLEAN;
} else if (rc) {
cli_dbgmsg("cli_pdf: (pre hooks) returning %d\n", rc);
pdf_export_json(&pdf);
return rc == CL_BREAK ? CL_CLEAN : rc;
}
@ -3075,7 +3079,8 @@ static void Author_cb(struct pdf_struct *pdf, struct pdf_obj *obj, struct pdf_ac
if (!(pdf))
return;
pdf->stats.author = pdf_parse_string(obj->start + pdf->map, obj_size(pdf, obj, 1), "/Author");
if (!(pdf->stats.author))
pdf->stats.author = pdf_parse_string(obj->start + pdf->map, obj_size(pdf, obj, 1), "/Author");
}
static void Creator_cb(struct pdf_struct *pdf, struct pdf_obj *obj, struct pdf_action *act)
@ -3083,7 +3088,8 @@ static void Creator_cb(struct pdf_struct *pdf, struct pdf_obj *obj, struct pdf_a
if (!(pdf))
return;
pdf->stats.creator = pdf_parse_string(obj->start + pdf->map, obj_size(pdf, obj, 1), "/Creator");
if (!(pdf->stats.creator))
pdf->stats.creator = pdf_parse_string(obj->start + pdf->map, obj_size(pdf, obj, 1), "/Creator");
}
static void ModificationDate_cb(struct pdf_struct *pdf, struct pdf_obj *obj, struct pdf_action *act)
@ -3091,7 +3097,8 @@ static void ModificationDate_cb(struct pdf_struct *pdf, struct pdf_obj *obj, str
if (!(pdf))
return;
pdf->stats.modificationdate = pdf_parse_string(obj->start + pdf->map, obj_size(pdf, obj, 1), "/ModDate");
if (!(pdf->stats.modificationdate))
pdf->stats.modificationdate = pdf_parse_string(obj->start + pdf->map, obj_size(pdf, obj, 1), "/ModDate");
}
static void CreationDate_cb(struct pdf_struct *pdf, struct pdf_obj *obj, struct pdf_action *act)
@ -3099,7 +3106,8 @@ static void CreationDate_cb(struct pdf_struct *pdf, struct pdf_obj *obj, struct
if (!(pdf))
return;
pdf->stats.creationdate = pdf_parse_string(obj->start + pdf->map, obj_size(pdf, obj, 1), "/CreationDate");
if (!(pdf->stats.creationdate))
pdf->stats.creationdate = pdf_parse_string(obj->start + pdf->map, obj_size(pdf, obj, 1), "/CreationDate");
}
static void Producer_cb(struct pdf_struct *pdf, struct pdf_obj *obj, struct pdf_action *act)
@ -3107,7 +3115,8 @@ static void Producer_cb(struct pdf_struct *pdf, struct pdf_obj *obj, struct pdf_
if (!(pdf))
return;
pdf->stats.producer = pdf_parse_string(obj->start + pdf->map, obj_size(pdf, obj, 1), "/Producer");
if (!(pdf->stats.producer))
pdf->stats.producer = pdf_parse_string(obj->start + pdf->map, obj_size(pdf, obj, 1), "/Producer");
}
static void print_pdf_stats(struct pdf_struct *pdf)

Loading…
Cancel
Save