From 0a49a022ae528301f2ac3aeb271b07d9a0932f18 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Sun, 11 Jun 2023 03:46:57 -0400
Subject: [PATCH] Fix some more Coverity "issues".

---
 src/conio/x_events.c |  2 --
 src/syncterm/term.c  | 11 ++++++++---
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/conio/x_events.c b/src/conio/x_events.c
index 3c2bfe57a6..34b6d067f4 100644
--- a/src/conio/x_events.c
+++ b/src/conio/x_events.c
@@ -527,8 +527,6 @@ fullscreen_geometry(int *x_org, int *y_org, int *width, int *height)
 				x11.XRRFreeCrtcInfo(xrrci);
 			return true;
 		}
-		if (xrrci != NULL)
-			x11.XRRFreeCrtcInfo(xrrci);
 	}
 #endif
 #ifdef WITH_XINERAMA
diff --git a/src/syncterm/term.c b/src/syncterm/term.c
index 575632068a..529fcf09a1 100644
--- a/src/syncterm/term.c
+++ b/src/syncterm/term.c
@@ -2369,8 +2369,10 @@ get_cache_fn_base(struct bbslist *bbs, char *fn, size_t fnsz)
 	backslash(fn);
 	strcat(fn, bbs->name);
 	backslash(fn);
-	if (!isdir(fn))
-		mkpath(fn);
+	if (!isdir(fn)) {
+		if (mkpath(fn))
+			return 0;
+	}
 	if (!isdir(fn))
 		return 0;
 	return 1;
@@ -3314,7 +3316,10 @@ apc_handler(char *strbuf, size_t slen, void *apcd)
 		p = strrchr(fn, '/');
 		if (p) {
 			*p = 0;
-			mkpath(fn);
+			if (mkpath(fn)) {
+				free(buf);
+				return;
+			}
 			*p = '/';
 		}
 		f = fopen(fn, "wb");
-- 
GitLab