summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2018-04-23 10:15:36 +0100
committerRobin Watts <robin.watts@artifex.com>2018-04-23 10:16:57 +0100
commit67a7449fc1f186f318942b9c6b8d66d4458b7d87 (patch)
tree1681c065c423b2555655af68a2bfbe4d73c99b71
parentdb4e21fea6c156f8b2b710937cbee1e7e8d7b7c2 (diff)
downloadmupdf-67a7449fc1f186f318942b9c6b8d66d4458b7d87.tar.xz
Avoid SEGV when mudrawing to SVG.
Belt and braces: 1) Don't attempt to close a NULL output stream. 2) If an output stream is NULL when we do close it, don't SEGV.
-rw-r--r--source/fitz/output.c2
-rw-r--r--source/tools/mudraw.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/source/fitz/output.c b/source/fitz/output.c
index 4ee0023c..eafc5091 100644
--- a/source/fitz/output.c
+++ b/source/fitz/output.c
@@ -291,6 +291,8 @@ fz_new_output_with_buffer(fz_context *ctx, fz_buffer *buf)
void
fz_close_output(fz_context *ctx, fz_output *out)
{
+ if (out == NULL)
+ return;
fz_flush_output(ctx, out);
if (out->close)
out->close(ctx, out->state);
diff --git a/source/tools/mudraw.c b/source/tools/mudraw.c
index 883bbb37..0649bae0 100644
--- a/source/tools/mudraw.c
+++ b/source/tools/mudraw.c
@@ -1959,7 +1959,7 @@ int mudraw_main(int argc, char **argv)
}
else
#endif
- if (output_format == OUT_GPROOF)
+ if (output_format == OUT_GPROOF || output_format == OUT_SVG)
{
/* No output file to close */
}