pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/pkgtools/libnbcompat/files sync to NetBSD for Todd's l...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/5c82fe30eef3
branches:  trunk
changeset: 465035:5c82fe30eef3
user:      grant <grant%pkgsrc.org@localhost>
date:      Fri Dec 19 22:26:46 2003 +0000

description:
sync to NetBSD for Todd's latest license, and fix for potential SEGV

diffstat:

 pkgtools/libnbcompat/files/strlcat.c |  45 ++++++++++++++---------------------
 1 files changed, 18 insertions(+), 27 deletions(-)

diffs (70 lines):

diff -r 05b1c64a2ea6 -r 5c82fe30eef3 pkgtools/libnbcompat/files/strlcat.c
--- a/pkgtools/libnbcompat/files/strlcat.c      Fri Dec 19 22:23:00 2003 +0000
+++ b/pkgtools/libnbcompat/files/strlcat.c      Fri Dec 19 22:26:46 2003 +0000
@@ -1,31 +1,21 @@
-/*     $NetBSD: strlcat.c,v 1.2 2003/09/06 23:03:05 grant Exp $        */
-/*     from OpenBSD: strlcat.c,v 1.2 1999/06/17 16:28:58 millert Exp   */
+/* $Id: strlcat.c,v 1.3 2003/12/19 22:26:46 grant Exp $ */
+/*     from NetBSD: strlcat.c,v 1.16 2003/10/27 00:12:42 lukem Exp     */
+/*     from OpenBSD: strlcat.c,v 1.10 2003/04/12 21:56:39 millert Exp  */
 
 /*
  * Copyright (c) 1998 Todd C. Miller <Todd.Miller%courtesan.com@localhost>
- * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
  *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
- * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE
+ * FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
 #include "nbcompat.h"
@@ -33,8 +23,9 @@
 /*
  * Appends src to string dst of size siz (unlike strncat, siz is the
  * full size of dst, not space left).  At most siz-1 characters
- * will be copied.  Always NUL terminates (unless siz == 0).
- * Returns strlen(src); if retval >= siz, truncation occurred.
+ * will be copied.  Always NUL terminates (unless siz <= strlen(dst)).
+ * Returns strlen(src) + MIN(siz, strlen(initial dst)).
+ * If retval >= siz, truncation occurred.
  */
 size_t
 strlcat(char *dst, const char *src, size_t siz)
@@ -45,7 +36,7 @@
        size_t dlen;
 
        /* Find the end of dst and adjust bytes left but don't go past end */
-       while (*d != '\0' && n-- != 0)
+       while (n-- != 0 && *d != '\0')
                d++;
        dlen = d - dst;
        n = siz - dlen;



Home | Main Index | Thread Index | Old Index