diff options
author | das <das> | 2008-12-07 16:32:44 (GMT) |
---|---|---|
committer | das <das> | 2008-12-07 16:32:44 (GMT) |
commit | 59bd7a0159445f73e970d56b2751c7b9a1924eca (patch) | |
tree | 7eda97e07ed4eb900f578600a3d589a38922e80d /macosx | |
parent | 13db31e8a25cac1df37497fff167d1ea831b14ad (diff) | |
download | tk-59bd7a0159445f73e970d56b2751c7b9a1924eca.zip tk-59bd7a0159445f73e970d56b2751c7b9a1924eca.tar.gz tk-59bd7a0159445f73e970d56b2751c7b9a1924eca.tar.bz2 |
Fix leaks flagged by clang static analyzer
Diffstat (limited to 'macosx')
-rw-r--r-- | macosx/tkMacOSXDialog.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/macosx/tkMacOSXDialog.c b/macosx/tkMacOSXDialog.c index 7cba460..9b1c22d 100644 --- a/macosx/tkMacOSXDialog.c +++ b/macosx/tkMacOSXDialog.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacOSXDialog.c,v 1.39 2008/10/17 23:18:38 nijtmans Exp $ + * RCS: @(#) $Id: tkMacOSXDialog.c,v 1.40 2008/12/07 16:32:44 das Exp $ */ #include "tkMacOSXPrivate.h" @@ -323,6 +323,9 @@ Tk_GetOpenFileObjCmd( break; case OPEN_MESSAGE: choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen); + if (message) { + CFRelease(message); + } message = CFStringCreateWithBytes(NULL, (unsigned char *) choice, choiceLen, kCFStringEncodingUTF8, false); break; @@ -341,6 +344,9 @@ Tk_GetOpenFileObjCmd( break; case OPEN_TITLE: choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen); + if (title) { + CFRelease(title); + } title = CFStringCreateWithBytes(NULL, (unsigned char *) choice, choiceLen, kCFStringEncodingUTF8, false); break; @@ -478,6 +484,9 @@ Tk_GetSaveFileObjCmd( break; case SAVE_MESSAGE: choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen); + if (message) { + CFRelease(message); + } message = CFStringCreateWithBytes(NULL, (unsigned char *) choice, choiceLen, kCFStringEncodingUTF8, false); break; @@ -490,6 +499,9 @@ Tk_GetSaveFileObjCmd( break; case SAVE_TITLE: choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen); + if (title) { + CFRelease(title); + } title = CFStringCreateWithBytes(NULL, (unsigned char *) choice, choiceLen, kCFStringEncodingUTF8, false); break; @@ -582,6 +594,9 @@ Tk_ChooseDirectoryObjCmd( break; case CHOOSE_MESSAGE: choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen); + if (message) { + CFRelease(message); + } message = CFStringCreateWithBytes(NULL, (unsigned char *) choice, choiceLen, kCFStringEncodingUTF8, false); break; @@ -594,6 +609,9 @@ Tk_ChooseDirectoryObjCmd( break; case CHOOSE_TITLE: choice = Tcl_GetStringFromObj(objv[i + 1], &choiceLen); + if (title) { + CFRelease(title); + } title = CFStringCreateWithBytes(NULL, (unsigned char *) choice, choiceLen, kCFStringEncodingUTF8, false); break; @@ -1483,6 +1501,9 @@ Tk_MessageBoxObjCmd( case ALERT_DETAIL: str = Tcl_GetString(objv[i + 1]); + if (finemessageTextCF) { + CFRelease(finemessageTextCF); + } finemessageTextCF = CFStringCreateWithCString(NULL, str, kCFStringEncodingUTF8); break; @@ -1510,6 +1531,9 @@ Tk_MessageBoxObjCmd( case ALERT_MESSAGE: str = Tcl_GetString(objv[i + 1]); + if (messageTextCF) { + CFRelease(messageTextCF); + } messageTextCF = CFStringCreateWithCString(NULL, str, kCFStringEncodingUTF8); break; |