summary refs log tree commit diff
path: root/resolv/res_data.c
diff options
context:
space:
mode:
Diffstat (limited to 'resolv/res_data.c')
-rw-r--r--resolv/res_data.c46
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);
 }