summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornijtmans@users.sourceforge.net <jan.nijtmans>2012-06-19 14:57:50 (GMT)
committernijtmans@users.sourceforge.net <jan.nijtmans>2012-06-19 14:57:50 (GMT)
commit332b24ff04c575b77ee74070fab63edd3a547ef8 (patch)
treef45aa27290e2d133a06589a3a6418e5a28d74fd0
parent675915dbafc42d5596a95f6b4047a0394a2b2094 (diff)
parent5c2914880236efe928b7168bf43e7ac65c48b45c (diff)
downloadtcl-332b24ff04c575b77ee74070fab63edd3a547ef8.zip
tcl-332b24ff04c575b77ee74070fab63edd3a547ef8.tar.gz
tcl-332b24ff04c575b77ee74070fab63edd3a547ef8.tar.bz2
Plug memory leak, part of [Bug #3362446]
-rw-r--r--ChangeLog4
-rw-r--r--win/tclWinReg.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 04407b7..1ae8ec4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2012-06-19 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * win/tclWinReg.c: Plug memory leak, part of [Bug #3362446]
+
2012-06-11 Don Porter <dgp@users.sourceforge.net>
* generic/tclBasic.c: [Bug 3532959] Make sure the lifetime management
diff --git a/win/tclWinReg.c b/win/tclWinReg.c
index f2ac367..13216f3 100644
--- a/win/tclWinReg.c
+++ b/win/tclWinReg.c
@@ -671,6 +671,8 @@ GetKeyNames(
}
if (result == TCL_OK) {
Tcl_SetObjResult(interp, resultPtr);
+ } else {
+ Tcl_DecrRefCount(resultPtr); /* BUGFIX: Don't leak on failure. */
}
ckfree(buffer);