diff options
author | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-08-31 09:24:36 +0000 |
---|---|---|
committer | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-08-31 09:24:36 +0000 |
commit | 3fb0d33b197b41b399740941b295e5271f62ea06 (patch) | |
tree | b07be804cb5120757ed35ba40594cefcd686459a /ext | |
parent | 24053adc1e766d1041c355b070907fe9ac5f5dfe (diff) | |
download | ruby-3fb0d33b197b41b399740941b295e5271f62ea06.tar.gz |
* 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/trunk@6843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/tk/tkutil.c | 3 |
1 files changed, 1 insertions, 2 deletions
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++) = '%'; |