diff options
author | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-09-12 14:55:22 +0000 |
---|---|---|
committer | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-09-12 14:55:22 +0000 |
commit | a22893d663d7e822bcd05e75e7cb41667a9d77a5 (patch) | |
tree | 1c8c51148dbba24fea6cd1ff87ed9e1ed862a55d | |
parent | 82c050eab867bb4c6e04d68c683257124a50f405 (diff) |
* util.c (ruby_strdup): remove unnecessary code. (xmalloc never
returns NULL.)
* util.c (ruby_getcwd): fix memory leak on failure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | util.c | 7 |
2 files changed, 12 insertions, 2 deletions
@@ -1,3 +1,10 @@ +Sun Sep 12 23:46:23 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> + + * util.c (ruby_strdup): remove unnecessary code. (xmalloc never + returns NULL.) + + * util.c (ruby_getcwd): fix memory leak on failure. + Sun Sep 12 02:41:58 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> * ext/tcltklib/tcltklib.c: add TclTkIp#allow_ruby_exit? and @@ -629,7 +629,6 @@ ruby_strdup(str) int len = strlen(str) + 1; tmp = xmalloc(len); - if (tmp == NULL) return NULL; memcpy(tmp, str, len); return tmp; @@ -643,7 +642,10 @@ ruby_getcwd() char *buf = xmalloc(size); while (!getcwd(buf, size)) { - if (errno != ERANGE) rb_sys_fail("getcwd"); + if (errno != ERANGE) { + free(buf); + rb_sys_fail("getcwd"); + } size *= 2; buf = xrealloc(buf, size); } @@ -654,6 +656,7 @@ ruby_getcwd() char *buf = xmalloc(PATH_MAX+1); if (!getwd(buf)) { + free(buf); rb_sys_fail("getwd"); } #endif |