Module Name:    src
Committed By:   wiz
Date:           Mon May  7 00:45:48 UTC 2012

Modified Files:
        src/external/bsd/bzip2: bzip2.1 bzip2.c bzip2recover.c bzlib.c
            bzlib_private.h decompress.c

Log Message:
merge 1.0.6


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/bsd/bzip2/bzip2.1 \
    src/external/bsd/bzip2/bzip2.c src/external/bsd/bzip2/bzip2recover.c \
    src/external/bsd/bzip2/bzlib.c src/external/bsd/bzip2/bzlib_private.h \
    src/external/bsd/bzip2/decompress.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/bzip2/bzip2.1
diff -u src/external/bsd/bzip2/bzip2.1:1.2 src/external/bsd/bzip2/bzip2.1:1.3
--- src/external/bsd/bzip2/bzip2.1:1.2	Mon May  7 00:30:05 2012
+++ src/external/bsd/bzip2/bzip2.1	Mon May  7 00:45:47 2012
@@ -1,4 +1,4 @@
-.\"	$NetBSD: bzip2.1,v 1.2 2012/05/07 00:30:05 wiz Exp $
+.\"	$NetBSD: bzip2.1,v 1.3 2012/05/07 00:45:47 wiz Exp $
 .\"
 .Dd May 14, 2010
 .Dt BZIP2 1
@@ -487,11 +487,11 @@ I/O error messages are not as helpful as
 tries hard to detect I/O errors and exit cleanly, but the details of
 what the problem is sometimes seem rather misleading.
 .Pp
-This manual page pertains to version 1.0.5 of
+This manual page pertains to version 1.0.6 of
 .Nm bzip2 .
 Compressed data created by this version is entirely forwards and
 backwards compatible with the previous public releases, versions
-0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, 1.0.2 and 1.0.3, but with the
+0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, 1.0.2 and above, but with the
 following exception: 0.9.0 and above can correctly decompress multiple
 concatenated compressed files.
 0.1pl2 cannot do this; it will stop after decompressing just the first
Index: src/external/bsd/bzip2/bzip2.c
diff -u src/external/bsd/bzip2/bzip2.c:1.2 src/external/bsd/bzip2/bzip2.c:1.3
--- src/external/bsd/bzip2/bzip2.c:1.2	Mon May  7 00:30:05 2012
+++ src/external/bsd/bzip2/bzip2.c	Mon May  7 00:45:47 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: bzip2.c,v 1.2 2012/05/07 00:30:05 wiz Exp $	*/
+/*	$NetBSD: bzip2.c,v 1.3 2012/05/07 00:45:47 wiz Exp $	*/
 
 
 /*-----------------------------------------------------------*/
@@ -9,8 +9,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -1610,11 +1610,11 @@ void license ( void )
     "bzip2, a block-sorting file compressor.  "
     "Version %s.\n"
     "   \n"
-    "   Copyright (C) 1996-2007 by Julian Seward.\n"
+    "   Copyright (C) 1996-2010 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.5 source distribution.\n"
+    "   in the bzip2-1.0.6 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"
Index: src/external/bsd/bzip2/bzip2recover.c
diff -u src/external/bsd/bzip2/bzip2recover.c:1.2 src/external/bsd/bzip2/bzip2recover.c:1.3
--- src/external/bsd/bzip2/bzip2recover.c:1.2	Mon May  7 00:30:05 2012
+++ src/external/bsd/bzip2/bzip2recover.c	Mon May  7 00:45:47 2012
@@ -1,5 +1,4 @@
-/*	$NetBSD: bzip2recover.c,v 1.2 2012/05/07 00:30:05 wiz Exp $	*/
-
+/*	$NetBSD: bzip2recover.c,v 1.3 2012/05/07 00:45:47 wiz Exp $	*/
 
 /*-----------------------------------------------------------*/
 /*--- Block recoverer program for bzip2                   ---*/
@@ -10,8 +9,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -329,7 +328,7 @@ Int32 main ( Int32 argc, Char** argv )
    inFileName[0] = outFileName[0] = 0;
 
    fprintf ( stderr, 
-             "bzip2recover 1.0.5: extracts blocks from damaged .bz2 files.\n" );
+             "bzip2recover 1.0.6: extracts blocks from damaged .bz2 files.\n" );
 
    if (argc != 2) {
       fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n",
Index: src/external/bsd/bzip2/bzlib.c
diff -u src/external/bsd/bzip2/bzlib.c:1.2 src/external/bsd/bzip2/bzlib.c:1.3
--- src/external/bsd/bzip2/bzlib.c:1.2	Mon May  7 00:30:05 2012
+++ src/external/bsd/bzip2/bzlib.c	Mon May  7 00:45:47 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: bzlib.c,v 1.2 2012/05/07 00:30:05 wiz Exp $	*/
+/*	$NetBSD: bzlib.c,v 1.3 2012/05/07 00:45:47 wiz Exp $	*/
 
 
 /*-------------------------------------------------------------*/
@@ -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.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
Index: src/external/bsd/bzip2/bzlib_private.h
diff -u src/external/bsd/bzip2/bzlib_private.h:1.2 src/external/bsd/bzip2/bzlib_private.h:1.3
--- src/external/bsd/bzip2/bzlib_private.h:1.2	Mon May  7 00:30:05 2012
+++ src/external/bsd/bzip2/bzlib_private.h	Mon May  7 00:45:47 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: bzlib_private.h,v 1.2 2012/05/07 00:30:05 wiz Exp $	*/
+/*	$NetBSD: bzlib_private.h,v 1.3 2012/05/07 00:45:47 wiz Exp $	*/
 
 
 /*-------------------------------------------------------------*/
@@ -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.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -38,7 +38,7 @@
 
 /*-- General stuff. --*/
 
-#define BZ_VERSION  "1.0.5, 10-Dec-2007"
+#define BZ_VERSION  "1.0.6, 6-Sept-2010"
 
 typedef char            Char;
 typedef unsigned char   Bool;
Index: src/external/bsd/bzip2/decompress.c
diff -u src/external/bsd/bzip2/decompress.c:1.2 src/external/bsd/bzip2/decompress.c:1.3
--- src/external/bsd/bzip2/decompress.c:1.2	Mon May  7 00:30:05 2012
+++ src/external/bsd/bzip2/decompress.c	Mon May  7 00:45:48 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: decompress.c,v 1.2 2012/05/07 00:30:05 wiz Exp $	*/
+/*	$NetBSD: decompress.c,v 1.3 2012/05/07 00:45:48 wiz Exp $	*/
 
 
 /*-------------------------------------------------------------*/
@@ -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.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -494,15 +494,28 @@ Int32 BZ2_decompress ( DState* s )
          RETURN(BZ_DATA_ERROR);
 
       /*-- Set up cftab to facilitate generation of T^(-1) --*/
+      /* Check: unzftab entries in range. */
+      for (i = 0; i <= 255; i++) {
+         if (s->unzftab[i] < 0 || s->unzftab[i] > nblock)
+            RETURN(BZ_DATA_ERROR);
+      }
+      /* Actually generate cftab. */
       s->cftab[0] = 0;
       for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
       for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
+      /* Check: cftab entries in range. */
       for (i = 0; i <= 256; i++) {
          if (s->cftab[i] < 0 || s->cftab[i] > nblock) {
             /* s->cftab[i] can legitimately be == nblock */
             RETURN(BZ_DATA_ERROR);
          }
       }
+      /* Check: cftab entries non-descending. */
+      for (i = 1; i <= 256; i++) {
+         if (s->cftab[i-1] > s->cftab[i]) {
+            RETURN(BZ_DATA_ERROR);
+         }
+      }
 
       s->state_out_len = 0;
       s->state_out_ch  = 0;

Reply via email to