From: H.G. Muller Date: Sat, 19 Feb 2011 23:03:19 +0000 (+0100) Subject: Fix some resource leaks X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=4d4d6305b409a21e22162ca25175aa6d60dc8916;p=xboard.git Fix some resource leaks Some files were opened not closed in XBoard, when loading XIM images (which I doubt anyone ever does) but also when copying the clipboard (which has the potential of being done very often). There was also some code that would not work if conditional code which is permanently disabled would be enabled. --- diff --git a/xboard.c b/xboard.c index 7a8a7ac..f5254ea 100644 --- a/xboard.c +++ b/xboard.c @@ -3299,6 +3299,8 @@ void loadXIM(xim, xmask, filename, dest, mask) } } + fclose(fp); + /* create Pixmap of piece */ *dest = XCreatePixmap(xDisplay, DefaultRootWindow(xDisplay), w, h, xim->depth); @@ -4980,9 +4982,9 @@ Widget MiscCreate(name, text, mutable, callback, lines) XTranslateCoordinates(xDisplay, XtWindow(shellWidget), RootWindowOfScreen(XtScreen(shellWidget)), (bw_width - w) / 2, 0 - h / 2, &xx, &yy, &junk); -#endif /*!NOTDEF*/ x = xx; y = yy; +#endif /*!NOTDEF*/ if (y < 0) y = 0; /*avoid positioning top offscreen*/ j = 0; @@ -5945,6 +5947,7 @@ SendGameSelection(Widget w, Atom *selection, Atom *target, rewind(f); selection_tmp = XtMalloc(len + 1); count = fread(selection_tmp, 1, len, f); + fclose(f); if (len != count) { XtFree(selection_tmp); return False;