Fixed memory leak in scheme_cwd: a temporary buffer was not freed
after entering the value in the scheme heap.
This commit is contained in:
parent
be8a63dbe8
commit
1521521116
|
@ -335,6 +335,7 @@ s48_value scheme_cwd()
|
|||
{
|
||||
char *buf;
|
||||
int size = scsh_path_max + 1; /* +1 for terminating nul byte... */
|
||||
s48_value cwd = S48_UNSPECIFIC;
|
||||
|
||||
buf = Malloc(char,size);
|
||||
if(!buf) goto lose;
|
||||
|
@ -347,8 +348,11 @@ s48_value scheme_cwd()
|
|||
if( !nbuf ) goto lose;
|
||||
buf = nbuf;
|
||||
}
|
||||
|
||||
return s48_enter_string(buf); /* win */
|
||||
cwd = s48_enter_string(buf); /* win */
|
||||
|
||||
Free(buf);
|
||||
|
||||
return cwd;
|
||||
|
||||
lose:
|
||||
{int e = errno;
|
||||
|
|
Loading…
Reference in New Issue