diff --git a/src/conio/x_events.c b/src/conio/x_events.c index 3c2bfe57a638ed9240c3ff551e495fdec7d391c1..34b6d067f444af54a8966d543029874cc8d46f9a 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 575632068aa966fe46c6c4539cf404bf9ef9f165..529fcf09a1b343f17a0a77f18465fcae116bb11f 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");