diff --git a/contrib/pg_trgm/trgm_regexp.c b/contrib/pg_trgm/trgm_regexp.c
index 1a76794c422..5567a7339c0 100644
--- a/contrib/pg_trgm/trgm_regexp.c
+++ b/contrib/pg_trgm/trgm_regexp.c
@@ -2195,6 +2195,8 @@ printSourceNFA(regex_t *regex, TrgmColorInfo *colors, int ncolors)
 		/* dot -Tpng -o /tmp/source.png < /tmp/source.gv */
 		FILE	   *fp = fopen("/tmp/source.gv", "w");
 
+		if (!fp)
+			elog(ERROR, "could not open file \"/tmp/source.gv\": %m");
 		fprintf(fp, "%s", buf.data);
 		fclose(fp);
 	}
@@ -2257,6 +2259,8 @@ printTrgmNFA(TrgmNFA *trgmNFA)
 		/* dot -Tpng -o /tmp/transformed.png < /tmp/transformed.gv */
 		FILE	   *fp = fopen("/tmp/transformed.gv", "w");
 
+		if (!fp)
+			elog(ERROR, "could not open file \"/tmp/transformed.gv\": %m");
 		fprintf(fp, "%s", buf.data);
 		fclose(fp);
 	}
@@ -2348,6 +2352,8 @@ printTrgmPackedGraph(TrgmPackedGraph *packedGraph, TRGM *trigrams)
 		/* dot -Tpng -o /tmp/packed.png < /tmp/packed.gv */
 		FILE	   *fp = fopen("/tmp/packed.gv", "w");
 
+		if (!fp)
+			elog(ERROR, "could not open file \"/tmp/packed.gv\": %m");
 		fprintf(fp, "%s", buf.data);
 		fclose(fp);
 	}
