Newsgroups: comp.protocols.tcp-ip.domains Path: kddlab!cs.titech!wnoc-tyo-news!news.u-tokyo.ac.jp!sinetnews!daffy!uwvax!uwm.edu!vixen.cso.uiuc.edu!howland.reston.ans.net!cs.utexas.edu!uunet!seismo!esosun.css.gov!mvb.saic.com!unogate!mark From: mark@st.unocal.com (Mark E. Towfiq) Subject: Bug fix -- resolv+2.1.1 Message-ID: <1993Nov17.015914.1964@unocal.com> Keywords: resolv+2.1.1 Sender: news@unocal.com (Unocal USENET News) Reply-To: mark@st.unocal.com Organization: Unocal Science & Technology Division, Ca. Date: Wed, 17 Nov 1993 01:59:14 GMT Lines: 85 I found a bug with the reorder logic in resolv+2.1.1. "gethostbyname()" would sometimes core dump when resolving a bogus hostname. The reason was that routine "reorder_addrs()" was being called without first checking to see if "hp" is a null pointer or not. I have been running with this fix for about a month now. !!! No more core dumps!!! *** gethostnamadr.c Fri Oct 15 13:22:59 1993 --- ../resolv+2.1.1.orig/gethostnamadr.c Fri Oct 15 13:03:16 1993 *************** *** 679,712 **** break; } hp = getanswer(&buf, n, 0); ! if (hp) { ! if (h_addr_ptrs[1] && reorder) ! reorder_addrs(hp); return trim_domains(hp); - } else { - h_errno = HOST_NOT_FOUND; - } break; case SERVICE_HOSTS: hp = _gethtbyname(name); ! if (hp) { ! if (h_addr_ptrs[1] && reorder) ! reorder_addrs(hp); return hp; ! } else { ! h_errno = HOST_NOT_FOUND; ! } break; #ifdef NIS case SERVICE_NIS: hp = _getnishost(name, "hosts.byname"); ! if (hp) { ! if (h_addr_ptrs[1] && reorder) ! reorder_addrs(hp); return hp; ! } else { ! h_errno = HOST_NOT_FOUND; ! } break; #endif /* NIS */ } --- 679,705 ---- break; } hp = getanswer(&buf, n, 0); ! if (h_addr_ptrs[1] && reorder) ! reorder_addrs(hp); ! if (hp) return trim_domains(hp); break; case SERVICE_HOSTS: hp = _gethtbyname(name); ! if (h_addr_ptrs[1] && reorder) ! reorder_addrs(hp); ! if (hp) return hp; ! h_errno = HOST_NOT_FOUND; break; #ifdef NIS case SERVICE_NIS: hp = _getnishost(name, "hosts.byname"); ! if (h_addr_ptrs[1] && reorder) ! reorder_addrs(hp); ! if (hp) return hp; ! h_errno = HOST_NOT_FOUND; break; #endif /* NIS */ } -- Mark E. Towfiq Unocal Corporate Information Services Phone: (714)693-6740 5460 E. La Palma Ave. Internet: mark@st.unocal.COM Anaheim Hills, Ca 92807