]> 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:14:17 +0000 (23:14 +0000)
committerMark Andrews <marka@isc.org>
Wed, 30 Aug 2006 23:14:17 +0000 (23:14 +0000)
                        of Solaris. [RT #16363]

CHANGES
lib/bind/resolv/res_init.c

diff --git a/CHANGES b/CHANGES
index 96696962959b75b2212bc6709b98c2ddd23c0c67..911016856800593d9ee4e57cb76bcaa4c02c5c91 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]
+
 2079.  [bug]           The lame cache was not handling multiple types
                        correctly. [RT #16361]
 
index 699a1a5f1ea0f050dc5a8fc119665ebf22642d60..a89727fc45a469fa02deab55dce2cc41522dd436 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.20 2005/11/03 00:01:52 marka Exp $";
+static const char rcsid[] = "$Id: res_init.c,v 1.21 2006/08/30 23:14:17 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 */