diff options
Diffstat (limited to 'resolv/res_data.c')
-rw-r--r-- | resolv/res_data.c | 46 |
1 files changed, 33 insertions, 13 deletions
diff --git a/resolv/res_data.c b/resolv/res_data.c index 5e7688c706..2cafd38055 100644 --- a/resolv/res_data.c +++ b/resolv/res_data.c @@ -1,3 +1,21 @@ +/* Miscellaneous definitions for libresolv. + Copyright (C) 1995-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + /* * Copyright (c) 1995-1999 by Internet Software Consortium. * @@ -17,18 +35,20 @@ #include <resolv.h> +/* This function belongs to libresolv, which is why it is not included + in res-close.c. */ void -res_close(void) { - /* - * Some stupid programs out there call res_close() before res_init(). - * Since _res._vcsock isn't explicitly initialized, these means that - * we could do a close(0), which might lead to some security problems. - * Therefore we check if res_init() was called before by looking at - * the RES_INIT bit in _res.options. If it hasn't been set we bail out - * early. */ - if ((_res.options & RES_INIT) == 0) - return; - /* We don't free the name server addresses because we never - did it and it would be done implicitly on shutdown. */ - __res_iclose(&_res, false); +__res_close (void) +{ + /* Some programs call res_close before res_init. Since _res._vcsock + isn't explicitly initialized, these means that we could call + close (0), which might lead to some security problems. Therefore + we check if res_init was called before by looking at the RES_INIT + bit in _res.options. If it hasn't been set we bail out + early. */ + if ((_res.options & RES_INIT) == 0) + return; + /* We don't free the name server addresses because we never did it + and it would be done implicitly on shutdown. */ + __res_iclose (&_res, false); } |