From: H.G. Muller Date: Sat, 19 Feb 2011 23:03:19 +0000 (+0100) Subject: Fix some resource leaks X-Git-Url: http://hgm.nubati.net/cgi-bin/gitweb.cgi?p=xboard.git;a=commitdiff_plain;h=4d4d6305b409a21e22162ca25175aa6d60dc8916;hp=855210360788a4b5ff475fdea1f7e6c423b328c3 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 7a8a7ac7..f5254ea7 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;