From: Thomas Wouters <thomas@python.org>
Date: Tue, 7 Mar 2006 14:04:31 +0000 (+0000)
Subject: Coverity found refleak: need to free 'v' after calling Tkinter_Error().
X-Git-Tag: v2.5a0~338
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a74a84d4cbda0fcfe8c62422ccf98efae6298054;p=python

Coverity found refleak: need to free 'v' after calling Tkinter_Error().
Will backport to release24.
---

diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 03f1453279..b85e15844c 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -686,8 +686,11 @@ Tkapp_New(char *screenName, char *baseName, char *className,
 		ckfree(args);
 	}
 
-	if (Tcl_AppInit(v->interp) != TCL_OK)
-		return (TkappObject *)Tkinter_Error((PyObject *)v);
+	if (Tcl_AppInit(v->interp) != TCL_OK) {
+		PyObject *result = Tkinter_Error((PyObject *)v);
+		Py_DECREF((PyObject *)v);
+		return (TkappObject *)result;
+	}
 
 	EnableEventHook();