summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-08-31 09:24:36 +0000
committerocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-08-31 09:24:36 +0000
commitfa92ef32b7d850e96f01ff236c1b3f9ebfc0c092 (patch)
tree327e9ea0446ed078d6e61174c8e607f71cb2c06b
parent177fdc1f59fef1f14b8eb284fa37e896ef883ead (diff)
* ext/tk/tkutil.c (cbsubst_init): fix memory leak
* ext/tk/tkutil.c (cbsubst_get_all_subst_keys): fix SEGV git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--ext/tk/tkutil.c3
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 80a0b15bda..00add5dbec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Aug 31 18:24:04 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/tk/tkutil.c (cbsubst_init): fix memory leak
+
+ * ext/tk/tkutil.c (cbsubst_get_all_subst_keys): fix SEGV
+
Tue Aug 31 16:04:22 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
* ext/tcltklib/tcltklib.c (ip_delete): when a tcltkip is deleted,
diff --git a/ext/tk/tkutil.c b/ext/tk/tkutil.c
index 37af36b049..b3e79430dd 100644
--- a/ext/tk/tkutil.c
+++ b/ext/tk/tkutil.c
@@ -939,7 +939,6 @@ cbsubst_init()
inf->size = 0;
inf->key = ALLOC_N(char, 1);
- inf->key = ALLOC_N(char, 1);
inf->key[0] = '\0';
inf->type = ALLOC_N(char, 1);
@@ -1028,7 +1027,7 @@ cbsubst_get_all_subst_keys(self)
struct cbsubst_info, inf);
len = strlen(inf->key);
- buf = ALLOC_N(char, 3*len);
+ buf = ALLOC_N(char, 3*len + 1);
ptr = buf;
for(i = 0; i < len; i++) {
*(ptr++) = '%';