fixed dynl memory leak
This commit is contained in:
parent
2a0d71767f
commit
0113293e54
2 changed files with 11 additions and 5 deletions
|
|
@ -1,7 +1,13 @@
|
|||
1997-11-22 Tim Pierce <twp@twp.tezcat.com>
|
||||
|
||||
* dynl-dl.c (sysdep_dynl_func): Fix memory leak created by
|
||||
yesterday's underscore patch. (Thanks to Marius Vollmer for
|
||||
spotting this.)
|
||||
|
||||
1997-11-21 Tim Pierce <twp@twp.tezcat.com>
|
||||
|
||||
* dynl-dl.c (sysdep_dynl_func): Prepend symb with underscore if
|
||||
DLSYM_ADDS_UNDERSCORE is not defined.
|
||||
DLSYM_ADDS_USCORE is not defined.
|
||||
|
||||
1997-11-06 Mikael Djurfeldt <mdj@nada.kth.se>
|
||||
|
||||
|
|
|
|||
|
|
@ -89,22 +89,22 @@ sysdep_dynl_func (symb, handle, subr)
|
|||
char *err;
|
||||
char *usymb;
|
||||
|
||||
usymb = (char *) malloc (strlen (symb) + 2);
|
||||
#ifdef DLSYM_ADDS_USCORE
|
||||
strcpy (usymb, symb);
|
||||
fptr = dlsym (handle, symb);
|
||||
#else
|
||||
usymb = (char *) malloc (strlen (symb) + 2);
|
||||
*usymb = '_';
|
||||
strcpy (usymb + 1, symb);
|
||||
fptr = dlsym (handle, usymb);
|
||||
free (usymb);
|
||||
#endif
|
||||
|
||||
fptr = dlsym (handle, usymb);
|
||||
err = (char *)dlerror ();
|
||||
if (!fptr)
|
||||
{
|
||||
SCM_ALLOW_INTS;
|
||||
scm_misc_error (subr, err? err : "symbol has NULL address", SCM_EOL);
|
||||
}
|
||||
free (usymb);
|
||||
return fptr;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue