Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jan 2001 23:01:21 -0500 (EST)
From:      Mike Heffner <mheffner@vt.edu>
To:        FreeBSD-audit <FreeBSD-audit@freebsd.org>
Subject:   patch for libc/net/hesiod.c
Message-ID:  <XFMail.20010130230121.mheffner@vt.edu>

next in thread | raw e-mail | index | archive | help
This patch fixes some string overflow issues in the hesiod(3) functions in libc.

Reviews?


Index: hesiod.c
===================================================================
RCS file: /home/ncvs/src/lib/libc/net/hesiod.c,v
retrieving revision 1.3
diff -u -r1.3 hesiod.c
--- hesiod.c    2000/09/30 17:29:54     1.3
+++ hesiod.c    2001/01/31 03:13:37
@@ -162,7 +162,7 @@
        const char      *rhs;
        int              len;
 
-       strcpy(bindname, name);
+       strlcpy(bindname, name, sizeof(bindname));
 
                /*
                 * Find the right right hand side to use, possibly
@@ -197,17 +197,17 @@
                return NULL;
        }
                /* Put together the rest of the domain. */
-       strcat(bindname, ".");
-       strcat(bindname, type);
+       strlcat(bindname, ".", sizeof(bindname));
+       strlcat(bindname, type, sizeof(bindname));
                /* Only append lhs if it isn't empty. */
        if (ctx->lhs && ctx->lhs[0] != '\0' ) {
                if (ctx->lhs[0] != '.')
-                       strcat(bindname, ".");
-               strcat(bindname, ctx->lhs);
+                       strlcat(bindname, ".", sizeof(bindname));
+               strlcat(bindname, ctx->lhs, sizeof(bindname));
        }
        if (rhs[0] != '.')
-               strcat(bindname, ".");
-       strcat(bindname, rhs);
+               strlcat(bindname, ".", sizeof(bindname));
+       strlcat(bindname, rhs, sizeof(bindname));
 
                /* rhs_list is no longer needed, since we're done with rhs. */
        if (rhs_list)

-- 

  Mike Heffner       <mheffner@vt.edu>
  Blacksburg, VA           ICQ# 882073
  http://filebox.vt.edu/users/mheffner



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-audit" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20010130230121.mheffner>