summaryrefslogtreecommitdiff
path: root/app-i18n/skkserv/files/skkserv-segfault.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-i18n/skkserv/files/skkserv-segfault.patch')
-rw-r--r--app-i18n/skkserv/files/skkserv-segfault.patch15
1 files changed, 15 insertions, 0 deletions
diff --git a/app-i18n/skkserv/files/skkserv-segfault.patch b/app-i18n/skkserv/files/skkserv-segfault.patch
new file mode 100644
index 000000000000..4c35a44d975a
--- /dev/null
+++ b/app-i18n/skkserv/files/skkserv-segfault.patch
@@ -0,0 +1,15 @@
+--- a/skkserv/skkserv.c
++++ b/skkserv/skkserv.c
+@@ -723,7 +723,11 @@
+ fprintf(errout, "%s:cannot get hostname, or too long hostname\n", pgmnm);
+ exit(1);
+ }
+- hentry = gethostbyname(hname);
++ if ((hentry = gethostbyname(hname)) == NULL
++ && (hentry = gethostbyname("localhost")) == NULL) {
++ perror("gethostbyname");
++ exit(1);
++ }
+ #ifdef NO_ADDR_LIST
+ strcat(hname, ":");
+ strcat(hname, hentry->h_addr);