From 5d2da96e81c7455338302c71a291088a8396245a Mon Sep 17 00:00:00 2001 From: Chris Liddell Date: Mon, 16 Oct 2023 16:49:40 +0100 Subject: [PATCH] Bug 707264: Fix tiffsep(1) requirement for seekable output files In the device initialization redesign, tiffsep and tiffsep1 lost the requirement for the output files to be seekable. Fixing that highlighted a problem with the error handling in gdev_prn_open_printer_seekable() where closing the erroring file would leave a dangling pointer, and lead to a crash. --- base/gdevprn.c | 1 + devices/gdevtsep.c | 1 + 2 files changed, 2 insertions(+) diff --git a/base/gdevprn.c b/base/gdevprn.c index 0491a3c6c..033632387 100644 --- a/base/gdevprn.c +++ b/base/gdevprn.c @@ -1271,6 +1271,7 @@ gdev_prn_open_printer_seekable(gx_device *pdev, bool binary_mode, && !IS_LIBCTX_STDERR(pdev->memory, gp_get_file(ppdev->file))) { code = gx_device_close_output_file(pdev, ppdev->fname, ppdev->file); + ppdev->file = NULL; if (code < 0) return code; } 2.34.1