diff -r -u mlmmj-1.2.12-RC4/src/mlmmj-send.c mlmmj-1.2.12-RC4-flx0.1/src/mlmmj-send.c --- mlmmj-1.2.12-RC4/src/mlmmj-send.c 2006-06-21 23:50:48.000000000 +0200 +++ mlmmj-1.2.12-RC4-flx0.1/src/mlmmj-send.c 2006-10-22 19:23:19.000000000 +0200 @@ -326,7 +326,19 @@ int retval = 0; char *reply = NULL; char *myhostname = hostnamestr(); - + + if (!myhostname) { + char tmp[256]; + if (gethostname(tmp, 256) != 0) { + perror("FATAL: gethostname()"); + exit(1); + } + if (!(myhostname = mystrdup(tmp))) { + perror("FATAL: mystrdup()"); + exit(1); + } + } + init_sockfd(sockfd, relayhost, port); if((reply = checkwait_smtpreply(*sockfd, MLMMJ_CONNECT)) != NULL) { diff -r -u mlmmj-1.2.12-RC4/src/strgen.c mlmmj-1.2.12-RC4-flx0.1/src/strgen.c --- mlmmj-1.2.12-RC4/src/strgen.c 2006-09-03 14:11:14.000000000 +0200 +++ mlmmj-1.2.12-RC4-flx0.1/src/strgen.c 2006-10-22 19:16:08.000000000 +0200 @@ -144,7 +144,7 @@ hostname[sizeof(hostname)-1] = '\0'; hostlookup = gethostbyname(hostname); - return mystrdup(hostlookup->h_name); + return (hostlookup ? mystrdup(hostlookup->h_name) : NULL); } char *mydirname(const char *path)