Author: yamakenz
Date: Wed Feb 13 06:51:31 2008
New Revision: 5167
Modified:
sigscheme-trunk/src/symbol.c
Log:
* src/symbol.c
- (scm_intern): Fix possible leak
Modified: sigscheme-trunk/src/symbol.c
==============================================================================
--- sigscheme-trunk/src/symbol.c (original)
+++ sigscheme-trunk/src/symbol.c Wed Feb 13 06:51:31 2008
@@ -71,6 +71,7 @@
{
ScmObj sym, lst, rest;
uint32_t hash;
+ char *copied;
DECLARE_INTERNAL_FUNCTION("scm_intern");
#if (SCM_USE_R6RS_CHARS && SCM_STRICT_ARGCHECK)
@@ -91,7 +92,8 @@
}
/* if not found, allocate new symbol object and prepend it into
the list */
- sym = MAKE_SYMBOL(scm_strdup(name), SCM_UNBOUND);
+ copied = scm_strdup(name);
+ sym = MAKE_SYMBOL(copied, SCM_UNBOUND);
scm_symbol_hash[hash] = CONS(sym, lst);
return sym;