Date: Thu, 10 Dec 2015 11:11:44 +0000 (UTC) From: Hajimu UMEMOTO <ume@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r292059 - head/lib/libc/net Message-ID: <201512101111.tBABBirV074803@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ume Date: Thu Dec 10 11:11:44 2015 New Revision: 292059 URL: https://svnweb.freebsd.org/changeset/base/292059 Log: The calls to RES_SET_H_ERRNO() macro on error paths wind up dereferencing an uninitialized res. PR: 202142 Submitted by: Sean Boudreau MFC after: 1 week Modified: head/lib/libc/net/getaddrinfo.c Modified: head/lib/libc/net/getaddrinfo.c ============================================================================== --- head/lib/libc/net/getaddrinfo.c Thu Dec 10 10:37:12 2015 (r292058) +++ head/lib/libc/net/getaddrinfo.c Thu Dec 10 11:11:44 2015 (r292059) @@ -2208,6 +2208,8 @@ _dns_getaddrinfo(void *rv, void *cb_data memset(&sentinel, 0, sizeof(sentinel)); cur = &sentinel; + res = __res_state(); + buf = malloc(sizeof(*buf)); if (!buf) { RES_SET_H_ERRNO(res, NETDB_INTERNAL); @@ -2254,7 +2256,6 @@ _dns_getaddrinfo(void *rv, void *cb_data return NS_UNAVAIL; } - res = __res_state(); if ((res->options & RES_INIT) == 0 && res_ninit(res) == -1) { RES_SET_H_ERRNO(res, NETDB_INTERNAL); free(buf);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201512101111.tBABBirV074803>