]> granicus.if.org Git - graphviz/commitdiff
ccomps gwrite: fix crash when failing to open files
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 14 Jan 2023 23:42:55 +0000 (15:42 -0800)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 15 Jan 2023 17:51:26 +0000 (09:51 -0800)
This code looks as if it and the similar code in bcomps.c were copy-pasted from
the same common source. Except the bcomps.c version remembered to exit when
failing to open the output file, whereas the ccomps.c code would go on to crash
when using the null `outf`.

CHANGELOG.md
cmd/tools/ccomps.c

index db129db99ce895082a132c52535e44d33b8cced3..a1a7b5eb8f8af4029ca8da845ebb9201833ee477 100644 (file)
@@ -19,6 +19,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 - Compatibility with `/bin/sh` has been restored in the Autotools build system.
   This was a regression in Graphviz 7.0.6. This restores the ability to compile
   on NetBSD which was fixed in 7.0.4 but regressed in 7.0.6. #2340
+- `ccomps` no longer crashes when failing to open files.
 
 ## [7.0.6] – 2023-01-06
 
index b508afe1531d2507e5bc331d21a35221a710fa3c..e7ed8b3d9686554f9977dbc61e1f34a58022f770 100644 (file)
@@ -325,6 +325,7 @@ static void gwrite(Agraph_t * g)
        if (!outf) {
            fprintf(stderr, "Could not open %s for writing\n", name);
            perror("ccomps");
+           graphviz_exit(EXIT_FAILURE);
        }
        agwrite(g, outf);
        fclose(outf);