PERFORCE change 140432 for review

John Birrell jb at FreeBSD.org
Tue Apr 22 22:40:33 UTC 2008


http://perforce.freebsd.org/chv.cgi?CH=140432

Change 140432 by jb at freebsd3 on 2008/04/22 22:40:12

	IF6

Affected files ...

.. //depot/projects/dtrace6/src/bin/sh/cd.c#2 integrate
.. //depot/projects/dtrace6/src/bin/sh/options.c#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/CHANGES#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/FREEBSD-Xlist#2 delete
.. //depot/projects/dtrace6/src/contrib/bzip2/FREEBSD-upgrade#2 delete
.. //depot/projects/dtrace6/src/contrib/bzip2/LICENSE#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/Makefile#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/Makefile-libbz2_so#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/README#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/README.COMPILATION.PROBLEMS#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/blocksort.c#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/bzip2.c#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/bzip2recover.c#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/bzlib.c#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/bzlib.h#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/bzlib_private.h#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/compress.c#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/crctable.c#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/decompress.c#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/huffman.c#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/randtable.c#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/spewG.c#2 integrate
.. //depot/projects/dtrace6/src/contrib/bzip2/unzcrash.c#2 integrate
.. //depot/projects/dtrace6/src/contrib/gcc/config/i386/freebsd64.h#2 integrate
.. //depot/projects/dtrace6/src/crypto/openssh/channels.c#2 integrate
.. //depot/projects/dtrace6/src/gnu/usr.bin/cc/cc_tools/Makefile#2 integrate
.. //depot/projects/dtrace6/src/gnu/usr.bin/cc/cc_tools/freebsd64-fix.h#2 delete
.. //depot/projects/dtrace6/src/lib/libc/stdlib/strfmon.c#2 integrate
.. //depot/projects/dtrace6/src/lib/libutil/humanize_number.c#2 integrate
.. //depot/projects/dtrace6/src/release/doc/en_US.ISO8859-1/errata/article.sgml#4 integrate
.. //depot/projects/dtrace6/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#9 integrate
.. //depot/projects/dtrace6/src/sys/dev/acpi_support/acpi_asus.c#2 integrate
.. //depot/projects/dtrace6/src/sys/dev/mii/ip1000phy.c#2 integrate
.. //depot/projects/dtrace6/src/sys/dev/mii/ip1000phyreg.h#2 integrate
.. //depot/projects/dtrace6/src/sys/dev/mii/miidevs#4 integrate
.. //depot/projects/dtrace6/src/sys/dev/mii/rgephy.c#3 integrate
.. //depot/projects/dtrace6/src/sys/net/if_tap.c#2 integrate
.. //depot/projects/dtrace6/src/sys/netgraph/ng_base.c#6 integrate
.. //depot/projects/dtrace6/src/sys/pci/if_rl.c#3 integrate
.. //depot/projects/dtrace6/src/usr.sbin/sysinstall/menus.c#6 integrate

Differences ...

==== //depot/projects/dtrace6/src/bin/sh/cd.c#2 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/cd.c,v 1.34.8.1 2006/06/28 21:14:23 stefanf Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/cd.c,v 1.34.8.2 2008/04/20 18:08:12 stefanf Exp $");
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -68,7 +68,9 @@
 STATIC int cdphysical(char *);
 STATIC int docd(char *, int, int);
 STATIC char *getcomponent(void);
-STATIC int updatepwd(char *);
+STATIC char *findcwd(char *);
+STATIC void updatepwd(char *);
+STATIC char *getpwd2(char *, size_t);
 
 STATIC char *curdir = NULL;	/* current working directory */
 STATIC char *prevdir;		/* previous working directory */
@@ -201,10 +203,11 @@
 	}
 
 	INTOFF;
-	if (updatepwd(badstat ? NULL : dest) < 0 || chdir(curdir) < 0) {
+	if ((p = findcwd(badstat ? NULL : dest)) == NULL || chdir(p) < 0) {
 		INTON;
 		return (-1);
 	}
+	updatepwd(p);
 	INTON;
 	return (0);
 }
@@ -212,12 +215,14 @@
 STATIC int
 cdphysical(char *dest)
 {
+	char *p;
 
 	INTOFF;
-	if (chdir(dest) < 0 || updatepwd(NULL) < 0) {
+	if (chdir(dest) < 0 || (p = findcwd(NULL)) == NULL) {
 		INTON;
 		return (-1);
 	}
+	updatepwd(p);
 	INTON;
 	return (0);
 }
@@ -247,38 +252,20 @@
 }
 
 
-/*
- * Update curdir (the name of the current directory) in response to a
- * cd command.  We also call hashcd to let the routines in exec.c know
- * that the current directory has changed.
- */
-STATIC int
-updatepwd(char *dir)
+STATIC char *
+findcwd(char *dir)
 {
 	char *new;
 	char *p;
 
-	hashcd();				/* update command hash table */
-
 	/*
 	 * If our argument is NULL, we don't know the current directory
 	 * any more because we traversed a symbolic link or something
 	 * we couldn't stat().
 	 */
 	if (dir == NULL || curdir == NULL)  {
-		if (prevdir)
-			ckfree(prevdir);
-		INTOFF;
-		prevdir = curdir;
-		curdir = NULL;
-		if (getpwd() == NULL) {
-			INTON;
-			return (-1);
-		}
-		setvar("PWD", curdir, VEXPORT);
-		setvar("OLDPWD", prevdir, VEXPORT);
-		INTON;
-		return (0);
+		p = stalloc(PATH_MAX);
+		return getpwd2(p, PATH_MAX);
 	}
 	cdcomppath = stalloc(strlen(dir) + 1);
 	scopy(dir, cdcomppath);
@@ -302,16 +289,25 @@
 	if (new == stackblock())
 		STPUTC('/', new);
 	STACKSTRNUL(new);
-	INTOFF;
+	return stackblock();
+}
+
+/*
+ * Update curdir (the name of the current directory) in response to a
+ * cd command.  We also call hashcd to let the routines in exec.c know
+ * that the current directory has changed.
+ */
+STATIC void
+updatepwd(char *dir)
+{
+	hashcd();				/* update command hash table */
+
 	if (prevdir)
 		ckfree(prevdir);
 	prevdir = curdir;
-	curdir = savestr(stackblock());
+	curdir = savestr(dir);
 	setvar("PWD", curdir, VEXPORT);
 	setvar("OLDPWD", prevdir, VEXPORT);
-	INTON;
-
-	return (0);
 }
 
 int
@@ -355,17 +351,31 @@
 }
 
 /*
- * Find out what the current directory is. If we already know the current
- * directory, this routine returns immediately.
+ * Get the current directory and cache the result in curdir.
  */
 char *
 getpwd(void)
 {
 	char buf[PATH_MAX];
+	char *p;
 
 	if (curdir)
 		return curdir;
-	if (getcwd(buf, sizeof(buf)) == NULL) {
+
+	p = getpwd2(buf, sizeof(buf));
+	if (p != NULL)
+		curdir = savestr(p);
+
+	return curdir;
+}
+
+/*
+ * Return the current directory.
+ */
+STATIC char *
+getpwd2(char *buf, size_t size)
+{
+	if (getcwd(buf, size) == NULL) {
 		char *pwd = getenv("PWD");
 		struct stat stdot, stpwd;
 
@@ -373,12 +383,9 @@
 		    stat(pwd, &stpwd) != -1 &&
 		    stdot.st_dev == stpwd.st_dev &&
 		    stdot.st_ino == stpwd.st_ino) {
-			curdir = savestr(pwd);
-			return curdir;
+			return pwd;
 		}
 		return NULL;
 	}
-	curdir = savestr(buf);
-
-	return curdir;
+	return buf;
 }

==== //depot/projects/dtrace6/src/bin/sh/options.c#2 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/options.c,v 1.23.2.2 2006/06/03 15:38:07 stefanf Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/options.c,v 1.23.2.3 2008/04/20 18:08:46 stefanf Exp $");
 
 #include <signal.h>
 #include <unistd.h>
@@ -383,7 +383,7 @@
 	}
 	ap2 = shellparam.p;
 	while ((*ap2++ = *ap1++) != NULL);
-	shellparam.optnext = NULL;
+	shellparam.reset = 1;
 	INTON;
 	return 0;
 }
@@ -405,6 +405,7 @@
 	if (*argptr != NULL) {
 		setparam(argptr);
 	}
+	shellparam.reset = 1;
 	INTON;
 	return 0;
 }
@@ -414,7 +415,6 @@
 getoptsreset(const char *value)
 {
 	if (number(value) == 1) {
-		shellparam.optnext = NULL;
 		shellparam.reset = 1;
 	}
 }

==== //depot/projects/dtrace6/src/contrib/bzip2/CHANGES#2 (text+ko) ====

@@ -2,8 +2,8 @@
  This file is part of bzip2/libbzip2, a program and library for
  lossless, block-sorting data compression.
 
- bzip2/libbzip2 version 1.0.4 of 20 December 2006
- Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+ bzip2/libbzip2 version 1.0.5 of 10 December 2007
+ Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
  Please read the WARNING, DISCLAIMER and PATENTS sections in the 
  README file.
@@ -312,3 +312,8 @@
 
 * Fix minor doc/comment bugs.
 
+
+1.0.5 (10 Dec 07)
+~~~~~~~~~~~~~~~~~
+Security fix only.  Fixes CERT-FI 20469 as it applies to bzip2.
+

==== //depot/projects/dtrace6/src/contrib/bzip2/LICENSE#2 (text+ko) ====

@@ -2,7 +2,7 @@
 --------------------------------------------------------------------------
 
 This program, "bzip2", the associated library "libbzip2", and all
-documentation, are copyright (C) 1996-2006 Julian R Seward.  All
+documentation, are copyright (C) 1996-2007 Julian R Seward.  All
 rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -36,8 +36,7 @@
 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-Julian Seward, Cambridge, UK.
-jseward at bzip.org
-bzip2/libbzip2 version 1.0.4 of 20 December 2006
+Julian Seward, jseward at bzip.org
+bzip2/libbzip2 version 1.0.5 of 10 December 2007
 
 --------------------------------------------------------------------------

==== //depot/projects/dtrace6/src/contrib/bzip2/Makefile#2 (text+ko) ====

@@ -2,8 +2,8 @@
 # This file is part of bzip2/libbzip2, a program and library for
 # lossless, block-sorting data compression.
 #
-# bzip2/libbzip2 version 1.0.4 of 20 December 2006
-# Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+# bzip2/libbzip2 version 1.0.5 of 10 December 2007
+# Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 #
 # Please read the WARNING, DISCLAIMER and PATENTS sections in the 
 # README file.
@@ -137,7 +137,7 @@
 distclean: clean
 	rm -f manual.ps manual.html manual.pdf
 
-DISTNAME=bzip2-1.0.4
+DISTNAME=bzip2-1.0.5
 dist: check manual
 	rm -f $(DISTNAME)
 	ln -s -f . $(DISTNAME)

==== //depot/projects/dtrace6/src/contrib/bzip2/Makefile-libbz2_so#2 (text+ko) ====

@@ -10,8 +10,8 @@
 # This file is part of bzip2/libbzip2, a program and library for
 # lossless, block-sorting data compression.
 #
-# bzip2/libbzip2 version 1.0.4 of 20 December 2006
-# Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+# bzip2/libbzip2 version 1.0.5 of 10 December 2007
+# Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 #
 # Please read the WARNING, DISCLAIMER and PATENTS sections in the 
 # README file.

==== //depot/projects/dtrace6/src/contrib/bzip2/README#2 (text+ko) ====

@@ -6,8 +6,8 @@
 This file is part of bzip2/libbzip2, a program and library for
 lossless, block-sorting data compression.
 
-bzip2/libbzip2 version 1.0.4 of 20 December 2006
-Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+bzip2/libbzip2 version 1.0.5 of 10 December 2007
+Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
 Please read the WARNING, DISCLAIMER and PATENTS sections in this file.
 
@@ -177,7 +177,11 @@
 
    See the CHANGES file.
 
+WHAT'S NEW IN 1.0.5 ?
 
+   See the CHANGES file.
+
+
 I hope you find bzip2 useful.  Feel free to contact me at
    jseward at bzip.org
 if you have any suggestions or queries.  Many people mailed me with
@@ -203,3 +207,4 @@
 30 December 2001 (bzip2, version 1.0.2pre1)
 15 February 2005 (bzip2, version 1.0.3)
 20 December 2006 (bzip2, version 1.0.4)
+10 December 2007 (bzip2, version 1.0.5)

==== //depot/projects/dtrace6/src/contrib/bzip2/README.COMPILATION.PROBLEMS#2 (text+ko) ====

@@ -2,8 +2,8 @@
 This file is part of bzip2/libbzip2, a program and library for
 lossless, block-sorting data compression.
 
-bzip2/libbzip2 version 1.0.4 of 20 December 2006
-Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+bzip2/libbzip2 version 1.0.5 of 10 December 2007
+Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
 Please read the WARNING, DISCLAIMER and PATENTS sections in the 
 README file.
@@ -12,7 +12,7 @@
 in the file LICENSE.
 ------------------------------------------------------------------
 
-bzip2-1.0.4 should compile without problems on the vast majority of
+bzip2-1.0.5 should compile without problems on the vast majority of
 platforms.  Using the supplied Makefile, I've built and tested it
 myself for x86-linux and amd64-linux.  With makefile.msc, Visual C++
 6.0 and nmake, you can build a native Win32 version too.  Large file

==== //depot/projects/dtrace6/src/contrib/bzip2/blocksort.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/dtrace6/src/contrib/bzip2/bzip2.c#2 (text+ko) ====

@@ -7,8 +7,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -1605,11 +1605,11 @@
     "bzip2, a block-sorting file compressor.  "
     "Version %s.\n"
     "   \n"
-    "   Copyright (C) 1996-2006 by Julian Seward.\n"
+    "   Copyright (C) 1996-2007 by Julian Seward.\n"
     "   \n"
     "   This program is free software; you can redistribute it and/or modify\n"
     "   it under the terms set out in the LICENSE file, which is included\n"
-    "   in the bzip2-1.0.4 source distribution.\n"
+    "   in the bzip2-1.0.5 source distribution.\n"
     "   \n"
     "   This program is distributed in the hope that it will be useful,\n"
     "   but WITHOUT ANY WARRANTY; without even the implied warranty of\n"

==== //depot/projects/dtrace6/src/contrib/bzip2/bzip2recover.c#2 (text+ko) ====

@@ -7,8 +7,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -313,7 +313,7 @@
    inFileName[0] = outFileName[0] = 0;
 
    fprintf ( stderr, 
-             "bzip2recover 1.0.4: extracts blocks from damaged .bz2 files.\n" );
+             "bzip2recover 1.0.5: extracts blocks from damaged .bz2 files.\n" );
 
    if (argc != 2) {
       fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n",

==== //depot/projects/dtrace6/src/contrib/bzip2/bzlib.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -29,7 +29,7 @@
 */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.2.2.1 2007/07/11 07:04:05 delphij Exp $");
+__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.2.2.2 2008/04/17 00:49:19 delphij Exp $");
 
 #include "bzlib_private.h"
 
@@ -52,7 +52,7 @@
       "component, you should also report this bug to the author(s)\n"
       "of that program.  Please make an effort to report this bug;\n"
       "timely and accurate bug reports eventually lead to higher\n"
-      "quality software.  Thanks.  Julian Seward, 15 February 2005.\n\n",
+      "quality software.  Thanks.  Julian Seward, 10 December 2007.\n\n",
       errcode,
       BZ2_bzlibVersion()
    );
@@ -605,6 +605,7 @@
       UInt32        c_tPos               = s->tPos;
       char*         cs_next_out          = s->strm->next_out;
       unsigned int  cs_avail_out         = s->strm->avail_out;
+      Int32         ro_blockSize100k     = s->blockSize100k;
       /* end restore */
 
       UInt32       avail_out_INIT = cs_avail_out;

==== //depot/projects/dtrace6/src/contrib/bzip2/bzlib.h#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/dtrace6/src/contrib/bzip2/bzlib_private.h#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -36,7 +36,7 @@
 
 /*-- General stuff. --*/
 
-#define BZ_VERSION  "1.0.4, 20-Dec-2006"
+#define BZ_VERSION  "1.0.5, 10-Dec-2007"
 
 typedef char            Char;
 typedef unsigned char   Bool;
@@ -442,11 +442,15 @@
 /*-- Macros for decompression. --*/
 
 #define BZ_GET_FAST(cccc)                     \
+    /* c_tPos is unsigned, hence test < 0 is pointless. */ \
+    if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
     s->tPos = s->tt[s->tPos];                 \
     cccc = (UChar)(s->tPos & 0xff);           \
     s->tPos >>= 8;
 
 #define BZ_GET_FAST_C(cccc)                   \
+    /* c_tPos is unsigned, hence test < 0 is pointless. */ \
+    if (c_tPos >= (UInt32)100000 * (UInt32)ro_blockSize100k) return True; \
     c_tPos = c_tt[c_tPos];                    \
     cccc = (UChar)(c_tPos & 0xff);            \
     c_tPos >>= 8;
@@ -469,8 +473,10 @@
    (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16))
 
 #define BZ_GET_SMALL(cccc)                            \
-      cccc = BZ2_indexIntoF ( s->tPos, s->cftab );    \
-      s->tPos = GET_LL(s->tPos);
+    /* c_tPos is unsigned, hence test < 0 is pointless. */ \
+    if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
+    cccc = BZ2_indexIntoF ( s->tPos, s->cftab );    \
+    s->tPos = GET_LL(s->tPos);
 
 
 /*-- externs for decompression. --*/

==== //depot/projects/dtrace6/src/contrib/bzip2/compress.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/dtrace6/src/contrib/bzip2/crctable.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/dtrace6/src/contrib/bzip2/decompress.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/dtrace6/src/contrib/bzip2/huffman.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/dtrace6/src/contrib/bzip2/randtable.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/dtrace6/src/contrib/bzip2/spewG.c#2 (text+ko) ====

@@ -13,8 +13,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/dtrace6/src/contrib/bzip2/unzcrash.c#2 (text+ko) ====

@@ -17,8 +17,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward at bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward at bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/dtrace6/src/contrib/gcc/config/i386/freebsd64.h#2 (text+ko) ====

@@ -19,7 +19,7 @@
 the Free Software Foundation, 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* $FreeBSD: src/contrib/gcc/config/i386/freebsd64.h,v 1.9 2004/07/28 04:44:23 kan Exp $ */
+/* $FreeBSD: src/contrib/gcc/config/i386/freebsd64.h,v 1.9.8.1 2008/04/18 16:06:45 obrien Exp $ */
 
 
 #undef  TARGET_VERSION
@@ -56,3 +56,6 @@
 	%{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
     %{static:-Bstatic}} \
   %{symbolic:-Bsymbolic}"
+
+#undef	MCOUNT_NAME
+#define	MCOUNT_NAME ".mcount"

==== //depot/projects/dtrace6/src/crypto/openssh/channels.c#2 (text+ko) ====

@@ -2895,9 +2895,6 @@
 				debug2("bind port %d: %.100s", port, strerror(errno));
 				close(sock);
 
-				if (ai->ai_next)
-					continue;
-
 				for (n = 0; n < num_socks; n++) {
 					close(socks[n]);
 				}

==== //depot/projects/dtrace6/src/gnu/usr.bin/cc/cc_tools/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/gnu/usr.bin/cc/cc_tools/Makefile,v 1.81.2.2 2006/09/29 01:56:01 obrien Exp $
+# $FreeBSD: src/gnu/usr.bin/cc/cc_tools/Makefile,v 1.81.2.3 2008/04/18 16:06:46 obrien Exp $
 
 #
 # This could probably be merged with ../cc_int/Makefile, but bsd.lib.mk
@@ -247,7 +247,6 @@
 .if ${TARGET_ARCH} == "amd64"
 TARGET_INC+=	${GCC_CPU}/x86-64.h
 TARGET_INC+=	${GCC_CPU}/freebsd64.h
-TARGET_INC+=	freebsd64-fix.h
 .endif
 .if ${TARGET_ARCH} == "powepc"
 TARGET_INC+=	altivec-defs.h

==== //depot/projects/dtrace6/src/lib/libc/stdlib/strfmon.c#2 (text+ko) ====

@@ -26,13 +26,14 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdlib/strfmon.c,v 1.14 2003/03/20 08:18:55 ache Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdlib/strfmon.c,v 1.14.12.1 2008/04/22 13:23:34 ru Exp $");
 
 #include <sys/types.h>
 #include <ctype.h>
 #include <errno.h>
 #include <limits.h>
 #include <locale.h>
+#include <monetary.h>
 #include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -66,6 +67,8 @@
 	while (isdigit((unsigned char)*fmt)) {			\
 		VAR *= 10;					\
 		VAR += *fmt - '0';				\
+		if (VAR < 0)					\
+			goto e2big_error;			\
 		fmt++;						\
 	}							\
 } while (0)
@@ -186,7 +189,7 @@
 			/* Do we have enough space to put number with
 			 * required width ?
 			 */
-			if (dst + width >= s + maxsize)
+			if ((unsigned int)width >= maxsize - (dst - s))
 				goto e2big_error;
 		}
 
@@ -195,6 +198,8 @@
 			if (!isdigit((unsigned char)*++fmt))
 				goto format_error;
 			GET_NUMBER(left_prec);
+			if ((unsigned int)left_prec >= maxsize - (dst - s))
+				goto e2big_error;
 		}
 
 		/* Right precision */
@@ -202,6 +207,9 @@
 			if (!isdigit((unsigned char)*++fmt))
 				goto format_error;
 			GET_NUMBER(right_prec);
+			if ((unsigned int)right_prec >= maxsize - (dst - s) -
+			    left_prec)
+				goto e2big_error;
 		}
 
 		/* Conversion Characters */
@@ -217,6 +225,8 @@
 				goto format_error;
 		}
 
+		if (currency_symbol != NULL)
+			free(currency_symbol);
 		if (flags & USE_INTL_CURRENCY) {
 			currency_symbol = strdup(lc->int_curr_symbol);
 			if (currency_symbol != NULL)
@@ -245,6 +255,8 @@
 				pad_size = 0;
 		}
 
+		if (asciivalue != NULL)
+			free(asciivalue);
 		asciivalue = __format_grouped_double(value, &flags,
 				left_prec, right_prec, pad_char);
 		if (asciivalue == NULL)
@@ -534,12 +546,11 @@
 
 	/* make sure that we've enough space for result string */
 	bufsize = strlen(avalue)*2+1;
-	rslt = malloc(bufsize);
+	rslt = calloc(1, bufsize);
 	if (rslt == NULL) {
 		free(avalue);
 		return (NULL);
 	}
-	memset(rslt, 0, bufsize);
 	bufend = rslt + bufsize - 1;	/* reserve space for trailing '\0' */
 
 	/* skip spaces at beggining */

==== //depot/projects/dtrace6/src/lib/libutil/humanize_number.c#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$NetBSD: humanize_number.c,v 1.8 2004/07/27 01:56:24 enami Exp $	*/
+/*	$NetBSD: humanize_number.c,v 1.13 2007/12/14 17:26:19 christos Exp $	*/
 
 /*
  * Copyright (c) 1997, 1998, 1999, 2002 The NetBSD Foundation, Inc.
@@ -38,10 +38,11 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libutil/humanize_number.c,v 1.2 2004/09/25 14:11:34 pjd Exp $");
+__FBSDID("$FreeBSD: src/lib/libutil/humanize_number.c,v 1.2.2.1 2008/04/20 16:32:20 antoine Exp $");
 
 #include <sys/types.h>
 #include <assert.h>
+#include <inttypes.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -118,7 +119,12 @@
 		for (max = 100, i = len - baselen; i-- > 0;)
 			max *= 10;
 
-		for (i = 0; bytes >= max && i < maxscale; i++)
+		/*
+		 * Divide the number until it fits the given column.
+		 * If there will be an overflow by the rounding below,
+		 * divide once more.
+		 */
+		for (i = 0; bytes >= max - 50 && i < maxscale; i++)
 			bytes /= divisor;
 
 		if (scale & HN_GETSCALE)
@@ -139,9 +145,8 @@
 		    sign * s1, localeconv()->decimal_point, s2,
 		    sep, SCALE2PREFIX(i), suffix);
 	} else
-		r = snprintf(buf, len, "%lld%s%s%s",
-		    /* LONGLONG */
-		    (long long)(sign * ((bytes + 50) / 100)),
+		r = snprintf(buf, len, "%" PRId64 "%s%s%s",
+		    sign * ((bytes + 50) / 100),
 		    sep, SCALE2PREFIX(i), suffix);
 
 	return (r);

==== //depot/projects/dtrace6/src/release/doc/en_US.ISO8859-1/errata/article.sgml#4 (text+ko) ====

@@ -27,7 +27,7 @@
     The &os; Project
     </corpauthor>
 
-    <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/errata/article.sgml,v 1.73.2.56 2008/03/27 04:55:06 bmah Exp $</pubdate>
+    <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/errata/article.sgml,v 1.73.2.58 2008/04/20 17:55:48 bmah Exp $</pubdate>
 
     <copyright>
       <year>2000</year>
@@ -140,6 +140,12 @@
 	    <entry>14&nbsp;February&nbsp;2008</entry>
 	    <entry><para>&man.sendfile.2; write-only file permission bypass</para></entry>
 	  </row>
+	  <row>
+	    <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-08:05.openssh.asc"
+		>SA-08:05.openssh</ulink></entry>
+	    <entry>17&nbsp;April&nbsp;2008</entry>
+	    <entry><para>OpenSSH X11-forwarding privilege escalation</para></entry>
+	  </row>
 	</tbody>
       </tgroup>
     </informaltable>
@@ -153,11 +159,13 @@
       faults for some Linux programs using &man.mmap.2;.  This issue
       has been fixed on the HEAD and RELENG_6 branches.</para>
 
-    <para>[20080229] Multithreaded programs that perform a
+    <para>[20080229, updated 20080420] Multithreaded programs that perform a
       &man.fork.2; operation may crash due to a race condition in the
-      threading library.  This problem has been fixed on the HEAD and
-      RELENG_6 branches, and is a candidate for an errata
-      notice.</para>
+      threading library.  This problem has been fixed on the HEAD,
+      RELENG_6, and RELENG_6_3 branches, and is addressed by errata
+      notice
+      <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-EN-08:01.libpthread.asc">FreeBSD-EN-08:01.libpthread</ulink>.
+      </para>
 
     <para>[20080307] When using &man.sysinstall.8; to install the
       X.org packages, selecting only specific components to be
@@ -169,6 +177,12 @@
       select <guimenuitem>All</guimenuitem> from the Distributions
       menu.</para>
 
+    <para>[20080420] A reference counting bug in the IP multicast code
+      could cause kernel panics under some circumstances.  It has been
+      fixed on the RELENG_6 branch by
+      revision <literal>1.85.2.10</literal>
+      of <filename>sys/netinet/in.c</filename>.</para>
+
   </sect1>
 
 </article>

==== //depot/projects/dtrace6/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#9 (text+ko) ====

@@ -3,7 +3,7 @@
 
   <corpauthor>The &os; Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.883.2.91 2008/04/06 05:34:14 bmah Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.883.2.92 2008/04/17 01:00:53 delphij Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -199,6 +199,9 @@
   <sect2 id="contrib">
     <title>Contributed Software</title>
 
+    <para><application>bzip2</application> has been updated from 1.0.4
+      to 1.0.5.</para>
+
     <para>The timezone database has been updated from
       the <application>tzdata2007k</application> release to
       the <application>tzdata2008b</application> release.</para>

==== //depot/projects/dtrace6/src/sys/dev/acpi_support/acpi_asus.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpi_support/acpi_asus.c,v 1.24.2.3 2007/06/03 22:44:23 philip Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpi_support/acpi_asus.c,v 1.24.2.4 2008/04/22 12:44:36 rpaulo Exp $");
 
 /*
  * Driver for extra ACPI-controlled gadgets (hotkeys, leds, etc) found on
@@ -354,6 +354,20 @@
 	{ .name = NULL }
 };
 
+/*
+ * EeePC have an Asus ASUS010 gadget interface,
+ * but they can't be probed quite the same way as Asus laptops.
+ */
+static struct acpi_asus_model acpi_eeepc_models[] = {
+	{
+		.name		= "EEE",
+		.brn_get	= "\\_SB.ATKD.PBLG",
+		.brn_set	= "\\_SB.ATKD.PBLS"
+	},
+
+	{ .name = NULL }
+};
+
 static struct {
 	char	*name;
 	char	*description;
@@ -423,13 +437,17 @@
 	ACPI_BUFFER		Buf;
 	ACPI_OBJECT		Arg, *Obj;
 	ACPI_OBJECT_LIST	Args;
-	static char		*asus_ids[] = { "ATK0100", NULL };
+	static char		*asus_ids[] = { "ATK0100", "ASUS010", NULL };
+	char *rstr;
 
 	ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
 
-	if (acpi_disabled("asus") ||
-	    ACPI_ID_PROBE(device_get_parent(dev), dev, asus_ids) == NULL)
+	if (acpi_disabled("asus"))
+		return (ENXIO);
+	rstr = ACPI_ID_PROBE(device_get_parent(dev), dev, asus_ids);
+	if (rstr == NULL) {
 		return (ENXIO);
+	}
 
 	sc = device_get_softc(dev);
 	sc->dev = dev;
@@ -468,6 +486,14 @@
 			AcpiOsFree(Buf.Pointer);
 			return (0);
 		}
+
+		/* if EeePC */
+		if (strncmp("ASUS010", rstr, 7) == 0) {
+			sc->model = &acpi_eeepc_models[0];
+			device_set_desc(dev, "ASUS EeePC");
+			AcpiOsFree(Buf.Pointer);
+			return (0);
+		}
 	}
 
 	sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND);


>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list