- Use a static buffer to avoid unfree'd buffer on exit.
- Use strncpy instead of strncat when myname might be uninitialized.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8849
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
const char *gras_os_myname(void)
{
const char *gras_os_myname(void)
{
- static char *myname = NULL;
+ static char myname[255];
+ static int initialized = 0;
- if (myname)
- return (const char *) myname;
-
- myname = xbt_new(char, 255);
+ if (initialized)
+ return myname;
if (gethostname(myname, 255) == -1) {
#ifdef HAVE_SYS_SOCKET_H
if (gethostname(myname, 255) == -1) {
#ifdef HAVE_SYS_SOCKET_H
- strncat(myname, tmp->h_name, 255);
+ strncpy(myname, tmp->h_name, 255);
} else {
/* Erm. localhost cannot be resolved. There's something wrong in the user DNS setting */
sprintf(myname, "(misconfigured host)");
} else {
/* Erm. localhost cannot be resolved. There's something wrong in the user DNS setting */
sprintf(myname, "(misconfigured host)");