diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-editors/nedit/files | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'app-editors/nedit/files')
-rw-r--r-- | app-editors/nedit/files/nedit-5.6-40_Pointer_to_Integer.patch | 261 | ||||
-rw-r--r-- | app-editors/nedit/files/nedit-5.6-fix-crash-with-noX.patch | 118 | ||||
-rw-r--r-- | app-editors/nedit/files/nedit-5.6-format.patch | 12 | ||||
-rw-r--r-- | app-editors/nedit/files/nedit-5.6-ldflags.patch | 17 | ||||
-rw-r--r-- | app-editors/nedit/files/nedit-5.6-security.patch | 63 |
5 files changed, 471 insertions, 0 deletions
diff --git a/app-editors/nedit/files/nedit-5.6-40_Pointer_to_Integer.patch b/app-editors/nedit/files/nedit-5.6-40_Pointer_to_Integer.patch new file mode 100644 index 000000000000..9081ea340619 --- /dev/null +++ b/app-editors/nedit/files/nedit-5.6-40_Pointer_to_Integer.patch @@ -0,0 +1,261 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +# Description: fix warning: cast from pointer to integer of different size +# Origin: https://sourceforge.net/tracker/download.php?group_id=11005&atid=311005&file_id=340993&aid=2846694 +# Bug: https://sourceforge.net/tracker/?func=detail&atid=311005&aid=2846694&group_id=11005 +# Author: Jack Howarth <jwhowarth@users.sourceforge.net> + +@DPATCH@ +diff -urNad nedit-5.6~cvs20081118~/Xlt/SlideC.c nedit-5.6~cvs20081118/Xlt/SlideC.c +--- nedit-5.6~cvs20081118~/Xlt/SlideC.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/Xlt/SlideC.c 2009-09-15 22:05:42.000000000 +0200 +@@ -28,6 +28,7 @@ + #endif + + #include <Xm/XmP.h> ++#include <stdint.h> + + #include "SlideCP.h" + +@@ -116,14 +117,14 @@ + /* notify that initialize called XtArgsProc */ NULL, + /* NULL XtProc */ NULL, + /* NULL XtPointer */ NULL, +-/* NULL Cardinal */ (Cardinal)NULL, ++/* NULL Cardinal */ (Cardinal)(uintptr_t)NULL, + /* resources for subclass fields XtResourceList */ resources, + /* number of entries in resources Cardinal */ XtNumber(resources), + /* resource class quarkified XrmClass */ NULLQUARK, +-/* NULL Boolean */ (Boolean)NULL, +-/* NULL XtEnum */ (XtEnum)NULL, +-/* NULL Boolean */ (Boolean)NULL, +-/* NULL Boolean */ (Boolean)NULL, ++/* NULL Boolean */ (Boolean)(uintptr_t)NULL, ++/* NULL XtEnum */ (XtEnum)(uintptr_t)NULL, ++/* NULL Boolean */ (Boolean)(uintptr_t)NULL, ++/* NULL Boolean */ (Boolean)(uintptr_t)NULL, + /* free data for subclass pointers XtWidgetProc */ destroy, + /* NULL XtProc */ NULL, + /* NULL XtProc */ NULL, +diff -urNad nedit-5.6~cvs20081118~/source/file.c nedit-5.6~cvs20081118/source/file.c +--- nedit-5.6~cvs20081118~/source/file.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/source/file.c 2009-09-15 22:06:42.000000000 +0200 +@@ -52,6 +52,7 @@ + #include <limits.h> + #include <stdio.h> + #include <stdlib.h> ++#include <stdint.h> + #include <string.h> + #include <unistd.h> + +@@ -1914,7 +1915,7 @@ + if (XmToggleButtonGetState(w)) { + XtPointer userData; + XtVaGetValues(w, XmNuserData, &userData, NULL); +- *(int*) clientData = (int) userData; ++ *(int*) clientData = (int) (uintptr_t) userData; + } + } + +diff -urNad nedit-5.6~cvs20081118~/source/highlight.c nedit-5.6~cvs20081118/source/highlight.c +--- nedit-5.6~cvs20081118~/source/highlight.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/source/highlight.c 2009-09-15 22:07:06.000000000 +0200 +@@ -49,6 +49,7 @@ + #include <limits.h> + #include <math.h> + #include <stdlib.h> ++#include <stdint.h> + #include <string.h> + #ifdef VMS + #include "../util/VMSparam.h" +@@ -512,7 +513,7 @@ + if (!pattern) { + return NULL; + } +- return (void*)pattern->userStyleIndex; ++ return (void*)(uintptr_t)pattern->userStyleIndex; + } + + /* +diff -urNad nedit-5.6~cvs20081118~/source/macro.c nedit-5.6~cvs20081118/source/macro.c +--- nedit-5.6~cvs20081118~/source/macro.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/source/macro.c 2009-09-15 22:07:27.000000000 +0200 +@@ -60,6 +60,7 @@ + + #include <stdio.h> + #include <stdlib.h> ++#include <stdint.h> + #include <string.h> + #include <ctype.h> + #include <errno.h> +@@ -2924,7 +2925,7 @@ + readStringArg(argList[i], &btnLabel, btnStorage, errMsg); + btn = XtVaCreateManagedWidget("mdBtn", xmPushButtonWidgetClass, dialog, + XmNlabelString, s1=XmStringCreateSimple(btnLabel), +- XmNuserData, (XtPointer)(i+1), NULL); ++ XmNuserData, (XtPointer)(uintptr_t)(i+1), NULL); + XtAddCallback(btn, XmNactivateCallback, dialogBtnCB, window); + XmStringFree(s1); + } +@@ -2965,7 +2966,7 @@ + return; /* shouldn't happen */ + if (XtClass(w) == xmPushButtonWidgetClass) { + XtVaGetValues(w, XmNuserData, &userData, NULL); +- retVal.val.n = (int)userData; ++ retVal.val.n = (int)(uintptr_t)userData; + } else + retVal.val.n = 1; + retVal.tag = INT_TAG; +@@ -3101,7 +3102,7 @@ + readStringArg(argList[i], &btnLabel, btnStorage, errMsg); + btn = XtVaCreateManagedWidget("mdBtn", xmPushButtonWidgetClass, dialog, + XmNlabelString, s1=XmStringCreateSimple(btnLabel), +- XmNuserData, (XtPointer)(i+1), NULL); ++ XmNuserData, (XtPointer)(uintptr_t)(i+1), NULL); + XtAddCallback(btn, XmNactivateCallback, stringDialogBtnCB, window); + XmStringFree(s1); + } +@@ -3155,7 +3156,7 @@ + returned in w. */ + if (XtClass(w) == xmPushButtonWidgetClass) { + XtVaGetValues(w, XmNuserData, &userData, NULL); +- btnNum = (int)userData; ++ btnNum = (int)(uintptr_t)userData; + } else + btnNum = 1; + +@@ -3680,7 +3681,7 @@ + readStringArg(argList[i], &btnLabel, btnStorage, errMsg); + btn = XtVaCreateManagedWidget("mdBtn", xmPushButtonWidgetClass, dialog, + XmNlabelString, s1=XmStringCreateSimple(btnLabel), +- XmNuserData, (XtPointer)(i+1), NULL); ++ XmNuserData, (XtPointer)(uintptr_t)(i+1), NULL); + XtAddCallback(btn, XmNactivateCallback, listDialogBtnCB, window); + XmStringFree(s1); + } +@@ -3760,7 +3761,7 @@ + returned in w. */ + if (XtClass(w) == xmPushButtonWidgetClass) { + XtVaGetValues(w, XmNuserData, &userData, NULL); +- btnNum = (int)userData; ++ btnNum = (int)(uintptr_t)userData; + } else + btnNum = 1; + +diff -urNad nedit-5.6~cvs20081118~/source/preferences.c nedit-5.6~cvs20081118/source/preferences.c +--- nedit-5.6~cvs20081118~/source/preferences.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/source/preferences.c 2009-09-15 22:07:47.000000000 +0200 +@@ -58,6 +58,7 @@ + #include <ctype.h> + #include <pwd.h> + #include <stdlib.h> ++#include <stdint.h> + #include <string.h> + #include <stdio.h> + #include <unistd.h> +@@ -2296,7 +2297,7 @@ + XtVaGetValues(menu, XmNchildren, &items, XmNnumChildren, &nItems, NULL); + for (n=0; n<(int)nItems; n++) { + XtVaGetValues(items[n], XmNuserData, &userData, NULL); +- XmToggleButtonSetState(items[n], (int)userData == mode, False); ++ XmToggleButtonSetState(items[n], (int)(uintptr_t)userData == mode, False); + } + } + } +@@ -5148,7 +5149,7 @@ + xmToggleButtonGadgetClass, menu, + XmNlabelString, s1=XmStringCreateSimple(LanguageModes[i]->name), + XmNmarginHeight, 0, +- XmNuserData, (void *)i, ++ XmNuserData, (void *)(uintptr_t)i, + XmNset, window->languageMode==i, NULL); + XmStringFree(s1); + XtAddCallback(btn, XmNvalueChangedCallback, setLangModeCB, window); +@@ -5169,14 +5170,14 @@ + XtVaGetValues(w, XmNuserData, &mode, NULL); + + /* If the mode didn't change, do nothing */ +- if (window->languageMode == (int)mode) ++ if (window->languageMode == (int)(uintptr_t)mode) + return; + + /* redo syntax highlighting word delimiters, etc. */ + /* + reapplyLanguageMode(window, (int)mode, False); + */ +- params[0] = (((int)mode) == PLAIN_LANGUAGE_MODE) ? "" : LanguageModes[(int)mode]->name; ++ params[0] = (((int)(uintptr_t)mode) == PLAIN_LANGUAGE_MODE) ? "" : LanguageModes[(int)(uintptr_t)mode]->name; + XtCallActionProc(window->textArea, "set_language_mode", NULL, params, 1); + } + +diff -urNad nedit-5.6~cvs20081118~/source/regularExp.c nedit-5.6~cvs20081118/source/regularExp.c +--- nedit-5.6~cvs20081118~/source/regularExp.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/source/regularExp.c 2009-09-15 22:08:16.000000000 +0200 +@@ -88,6 +88,7 @@ + #include <limits.h> + #include <stdio.h> + #include <stdlib.h> ++#include <stdint.h> + #include <string.h> + + #ifdef HAVE_DEBUG_H +@@ -4157,7 +4158,7 @@ + table [*c] = 1; + } + +- table [(int) NULL] = 1; /* These */ ++ table [(int)(uintptr_t) NULL] = 1; /* These */ + table [(int) '\t'] = 1; /* characters */ + table [(int) '\n'] = 1; /* are always */ + table [(int) ' ' ] = 1; /* delimiters. */ +diff -urNad nedit-5.6~cvs20081118~/source/userCmds.c nedit-5.6~cvs20081118/source/userCmds.c +--- nedit-5.6~cvs20081118~/source/userCmds.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/source/userCmds.c 2009-09-15 22:08:47.000000000 +0200 +@@ -49,6 +49,7 @@ + + #include <stdio.h> + #include <stdlib.h> ++#include <stdint.h> + #include <string.h> + #include <ctype.h> + #ifdef VMS +@@ -1116,7 +1117,7 @@ + XtVaGetValues(items[n], XmNsubMenuId, &subMenu, NULL); + dimSelDepItemsInMenu(subMenu, menuList, nMenuItems, sensitive); + } else { +- index = (int)userData - 10; ++ index = (int)(uintptr_t)userData - 10; + if (index <0 || index >= nMenuItems) + return; + if (menuList[index]->input == FROM_SELECTION) +@@ -1928,7 +1929,7 @@ + XmNlabelString, st1, + XmNacceleratorText, st2, + XmNmnemonic, f->mnemonic, +- XmNuserData, (XtPointer)(index+10), NULL); ++ XmNuserData, (XtPointer)(uintptr_t)(index+10), NULL); + XtAddCallback(btn, XmNactivateCallback, cbRtn, cbArg); + XmStringFree(st1); + XmStringFree(st2); +diff -urNad nedit-5.6~cvs20081118~/util/prefFile.c nedit-5.6~cvs20081118/util/prefFile.c +--- nedit-5.6~cvs20081118~/util/prefFile.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/util/prefFile.c 2009-09-15 22:04:14.000000000 +0200 +@@ -38,6 +38,7 @@ + #include <stdlib.h> + #include <stdio.h> + #include <string.h> ++#include <stdint.h> + #ifdef VMS + #include "VMSparam.h" + #else +@@ -353,9 +354,9 @@ + *(int *)rsrcDescrip->valueAddr = 0; + return False; + case PREF_STRING: +- if ((int)strlen(string) >= (int)rsrcDescrip->arg) ++ if ((int)strlen(string) >= (int)(uintptr_t)rsrcDescrip->arg) + return False; +- strncpy(rsrcDescrip->valueAddr, string, (int)rsrcDescrip->arg); ++ strncpy(rsrcDescrip->valueAddr, string, (int)(uintptr_t)rsrcDescrip->arg); + return True; + case PREF_ALLOC_STRING: + *(char **)rsrcDescrip->valueAddr = XtMalloc(strlen(string) + 1); diff --git a/app-editors/nedit/files/nedit-5.6-fix-crash-with-noX.patch b/app-editors/nedit/files/nedit-5.6-fix-crash-with-noX.patch new file mode 100644 index 000000000000..92b0778e2ab2 --- /dev/null +++ b/app-editors/nedit/files/nedit-5.6-fix-crash-with-noX.patch @@ -0,0 +1,118 @@ +diff -urN a/source/highlightData.c b/source/highlightData.c +--- a/source/highlightData.c 2018-03-13 08:42:40.930188154 +0100 ++++ b/source/highlightData.c 2018-03-13 08:44:59.651196431 +0100 +@@ -1280,7 +1280,7 @@ + XFontStruct *font; + + if (styleNo<0) +- return GetDefaultFontStruct(window->fontList); ++ return GetDefaultFontStruct(TheDisplay, window->fontList); + fontNum = HighlightStyles[styleNo]->font; + if (fontNum == BOLD_FONT) + font = window->boldFontStruct; +@@ -1289,10 +1289,10 @@ + else if (fontNum == BOLD_ITALIC_FONT) + font = window->boldItalicFontStruct; + else /* fontNum == PLAIN_FONT */ +- font = GetDefaultFontStruct(window->fontList); ++ font = GetDefaultFontStruct(TheDisplay, window->fontList); + + /* If font isn't loaded, silently substitute primary font */ +- return font == NULL ? GetDefaultFontStruct(window->fontList) : font; ++ return font == NULL ? GetDefaultFontStruct(TheDisplay, window->fontList) : font; + } + + int FontOfNamedStyleIsBold(char *styleName) +diff -urN a/source/text.c b/source/text.c +--- a/source/text.c 2018-03-13 08:42:40.931188154 +0100 ++++ b/source/text.c 2018-03-13 08:46:37.785202286 +0100 +@@ -778,9 +778,13 @@ + textBuffer *buf; + Pixel white, black; + int textLeft; +- int charWidth = fs->max_bounds.width; +- int marginWidth = new->text.marginWidth; +- int lineNumCols = new->text.lineNumCols; ++ int charWidth; ++ int marginWidth; ++ int lineNumCols; ++ ++ charWidth = fs->max_bounds.width; ++ marginWidth = new->text.marginWidth; ++ lineNumCols = new->text.lineNumCols; + + /* Set the initial window size based on the rows and columns resources */ + if (request->core.width == 0) +diff -urN a/source/window.c b/source/window.c +--- a/source/window.c 2018-03-13 08:42:40.937188155 +0100 ++++ b/source/window.c 2018-03-13 08:48:07.727207652 +0100 +@@ -1839,7 +1839,7 @@ + + /* Change the primary font in all the widgets */ + if (primaryChanged) { +- font = GetDefaultFontStruct(window->fontList); ++ font = GetDefaultFontStruct(TheDisplay, window->fontList); + XtVaSetValues(window->textArea, textNfont, font, NULL); + for (i=0; i<window->nPanes; i++) + XtVaSetValues(window->textPanes[i], textNfont, font, NULL); +@@ -1861,7 +1861,7 @@ + size appropriate for the new font, but only do so if there's only + _one_ document in the window, in order to avoid growing-window bug */ + if (NDocuments(window) == 1) { +- fontWidth = GetDefaultFontStruct(window->fontList)->max_bounds.width; ++ fontWidth = GetDefaultFontStruct(TheDisplay, window->fontList)->max_bounds.width; + fontHeight = textD->ascent + textD->descent; + newWindowWidth = (oldTextWidth*fontWidth) / oldFontWidth + borderWidth; + newWindowHeight = (oldTextHeight*fontHeight) / oldFontHeight + +@@ -2244,7 +2244,7 @@ + textNrows, rows, textNcolumns, cols, + textNlineNumCols, lineNumCols, + textNemulateTabs, emTabDist, +- textNfont, GetDefaultFontStruct(window->fontList), ++ textNfont, GetDefaultFontStruct(TheDisplay, window->fontList), + textNhScrollBar, hScrollBar, textNvScrollBar, vScrollBar, + textNreadOnly, IS_ANY_LOCKED(window->lockReasons), + textNwordDelimiters, delimiters, + +--- a/util/misc.c 2018-03-13 08:50:54.892217626 +0100 ++++ b/util/misc.c 2018-03-13 08:56:50.346238834 +0100 +@@ -1018,7 +1018,7 @@ + ** a Motif font list. Since Motif stores this, it saves us from storing + ** it or querying it from the X server. + */ +-XFontStruct *GetDefaultFontStruct(XmFontList font) ++XFontStruct *GetDefaultFontStruct(Display *d, XmFontList font) + { + XFontStruct *fs; + XmFontContext context; +@@ -1028,6 +1028,17 @@ + XmFontListGetNextFont(context, &charset, &fs); + XmFontListFreeFontContext(context); + XtFree(charset); ++ ++ /* FontList might be a render table with no only XFT fonts */ ++ if (fs == NULL) { ++ fs = XLoadQueryFont(d, "fixed"); ++ } ++ ++ if (fs == NULL) { ++ fprintf(stderr, "Unabled to load any fallback fonts.\n"); ++ exit(EXIT_FAILURE); ++ } ++ + return fs; + } + +diff -urN a/util/misc.h b/util/misc.h +--- a/util/misc.h 2018-03-13 08:50:54.890217626 +0100 ++++ b/util/misc.h 2018-03-13 08:55:52.790235400 +0100 +@@ -65,7 +65,7 @@ + void AccelLockBugPatch(Widget topWidget, Widget topMenuContainer); + void UpdateAccelLockPatch(Widget topWidget, Widget newButton); + char *GetXmStringText(XmString fromString); +-XFontStruct *GetDefaultFontStruct(XmFontList font); ++XFontStruct *GetDefaultFontStruct(Display *d, XmFontList font); + XmString* StringTable(int count, ...); + void FreeStringTable(XmString *table); + void SimulateButtonPress(Widget widget); + diff --git a/app-editors/nedit/files/nedit-5.6-format.patch b/app-editors/nedit/files/nedit-5.6-format.patch new file mode 100644 index 000000000000..e2d6e17a6470 --- /dev/null +++ b/app-editors/nedit/files/nedit-5.6-format.patch @@ -0,0 +1,12 @@ +diff -up nedit-5.6/source/nc.c.format nedit-5.6/source/nc.c +--- nedit-5.6/source/nc.c.format 2014-12-28 13:56:20.000000000 +0000 ++++ nedit-5.6/source/nc.c 2015-06-17 07:30:25.617032345 +0100 +@@ -503,7 +503,7 @@ static int startServer(const char *messa + + /* prompt user whether to start server */ + if (!Preferences.autoStart) { +- printf(message); ++ printf("%s", message); + do { + c = getc(stdin); + } while (c == ' ' || c == '\t'); diff --git a/app-editors/nedit/files/nedit-5.6-ldflags.patch b/app-editors/nedit/files/nedit-5.6-ldflags.patch new file mode 100644 index 000000000000..a549b02490c0 --- /dev/null +++ b/app-editors/nedit/files/nedit-5.6-ldflags.patch @@ -0,0 +1,17 @@ +--- a/source/Makefile.common 2004-03-21 15:25:56.000000000 +0100 ++++ b/source/Makefile.common 2009-10-24 10:47:03.667835157 +0200 +@@ -21,12 +21,12 @@ + # we only want natural rebuilds to regenerate the link date. + nedit: $(OBJS) ../util/libNUtil.a $(XMLLIB) $(XLTLIB) + $(CC) $(CFLAGS) -c linkdate.c +- $(CC) $(CFLAGS) $(OBJS) linkdate.o $(XMLLIB) \ ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) linkdate.o $(XMLLIB) \ + $(XLTLIB) ../util/libNUtil.a $(LIBS) -o $@ + + # Note LIBS isn't quite right here; it links unnecessarily against Motif + nc: nc.o server_common.o ../util/libNUtil.a +- $(CC) $(CFLAGS) nc.o server_common.o ../util/libNUtil.a $(LIBS) -o $@ ++ $(CC) $(CFLAGS) $(LDFLAGS) nc.o server_common.o ../util/libNUtil.a $(LIBS) -o $@ + + help.o: help.c + $(CC) $(CFLAGS) $(BIGGER_STRINGS) -c help.c -o $@ diff --git a/app-editors/nedit/files/nedit-5.6-security.patch b/app-editors/nedit/files/nedit-5.6-security.patch new file mode 100644 index 000000000000..b24ef2355a3c --- /dev/null +++ b/app-editors/nedit/files/nedit-5.6-security.patch @@ -0,0 +1,63 @@ +Index: nedit-5.5/source/file.c +=================================================================== +--- nedit-5.5.orig/source/file.c 2004-08-24 11:37:24.000000000 +0200 ++++ nedit-5.5/source/file.c 2010-03-27 18:44:01.000000000 +0100 +@@ -1314,7 +1314,7 @@ + */ + void PrintString(const char *string, int length, Widget parent, const char *jobName) + { +- char tmpFileName[L_tmpnam]; /* L_tmpnam defined in stdio.h */ ++ char *tmpFileName=strdup("/tmp/neditXXXXXX"); + FILE *fp; + int fd; + +@@ -1325,14 +1325,10 @@ + 1. Create a filename + 2. Open the file with the O_CREAT|O_EXCL flags + So all an attacker can do is a DoS on the print function. */ +- tmpnam(tmpFileName); ++ fd = mkstemp(tmpFileName); + + /* open the temporary file */ +-#ifdef VMS +- if ((fp = fopen(tmpFileName, "w", "rfm = stmlf")) == NULL) +-#else +- if ((fd = open(tmpFileName, O_CREAT|O_EXCL|O_WRONLY, S_IRUSR | S_IWUSR)) < 0 || (fp = fdopen(fd, "w")) == NULL) +-#endif /* VMS */ ++ if ((fp = fdopen(fd, "w")) == NULL) + { + DialogF(DF_WARN, parent, 1, "Error while Printing", + "Unable to write file for printing:\n%s", "OK", +@@ -1346,7 +1342,7 @@ + + /* write to the file */ + #ifdef IBM_FWRITE_BUG +- write(fileno(fp), string, length); ++ write(fd, string, length); + #else + fwrite(string, sizeof(char), length, fp); + #endif +@@ -1356,6 +1352,7 @@ + "%s not printed:\n%s", "OK", jobName, errorString()); + fclose(fp); /* should call close(fd) in turn! */ + remove(tmpFileName); ++ free(tmpFileName); + return; + } + +@@ -1366,6 +1363,7 @@ + "Error closing temp. print file:\n%s", "OK", + errorString()); + remove(tmpFileName); ++ free(tmpFileName); + return; + } + +@@ -1377,6 +1375,7 @@ + PrintFile(parent, tmpFileName, jobName); + remove(tmpFileName); + #endif /*VMS*/ ++ free(tmpFileName); + return; + } + |