]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2080. [port] libbind: res_init.c did not compile on older versions
authorMark Andrews <marka@isc.org>
Wed, 30 Aug 2006 23:23:14 +0000 (23:23 +0000)
committerMark Andrews <marka@isc.org>
Wed, 30 Aug 2006 23:23:14 +0000 (23:23 +0000)
                        of Solaris. [RT #16363]

CHANGES
lib/bind/resolv/res_init.c

diff --git a/CHANGES b/CHANGES
index 17d7606229b0dba27a5439e73f1e3511ed7cf22c..5c086736509031694ce0e75fbf4ac0704483bc6b 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+2080.  [port]          libbind: res_init.c did not compile on older versions
+                       of Solaris. [RT #16363]
+
 2076.  [bug]           Several files were missing #include <config.h>
                        causing build failures on OSF. [RT #16341]
 
index 9af5f2da55309023932c619e8a18f4a92ed828c6..d3bb71f545880dab5277b742b7bd0ded99f583fc 100644 (file)
@@ -70,7 +70,7 @@
 
 #if defined(LIBC_SCCS) && !defined(lint)
 static const char sccsid[] = "@(#)res_init.c   8.1 (Berkeley) 6/7/93";
-static const char rcsid[] = "$Id: res_init.c,v 1.9.2.10 2005/11/03 00:00:08 marka Exp $";
+static const char rcsid[] = "$Id: res_init.c,v 1.9.2.11 2006/08/30 23:23:14 marka Exp $";
 #endif /* LIBC_SCCS and not lint */
 
 #include "port_before.h"
@@ -237,17 +237,10 @@ __res_vinit(res_state statp, int preinit) {
                        if (buf[0] == '+')
                                buf[0] = '.';
                        cp = strchr(buf, '.');
-                       if (cp == NULL) {
-                               if (strlcpy(statp->defdname, buf,
-                                       sizeof(statp->defdname))
-                                       >= sizeof(statp->defdname))
-                                       goto freedata;
-                       } else {
-                               if (strlcpy(statp->defdname, cp+1,
-                                       sizeof(statp->defdname))
-                                        >= sizeof(statp->defdname))
-                                       goto freedata;
-                       }
+                       cp = (cp == NULL) ? buf : (cp + 1);
+                       if (strlen(cp) >= sizeof(statp->defdname))
+                               goto freedata; 
+                       strcpy(statp->defdname, cp);
                }
        }
 #endif /* SOLARIS2 */