summaryrefslogtreecommitdiffstats
path: root/contrib/bzip2/blocksort.c
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2002-02-01 16:28:01 +0000
committersobomax <sobomax@FreeBSD.org>2002-02-01 16:28:01 +0000
commitb718740c2fa9f3e14e09fba90eca26f829b7d43a (patch)
treea3ca69a02ff78d685a9ad50cd867c166ab387609 /contrib/bzip2/blocksort.c
parentda41d3ce6ee0a7c399e6438525caf651b761080b (diff)
downloadFreeBSD-src-b718740c2fa9f3e14e09fba90eca26f829b7d43a.zip
FreeBSD-src-b718740c2fa9f3e14e09fba90eca26f829b7d43a.tar.gz
Virgin import (trimmed) of Bzip2 version 1.0.2
Diffstat (limited to 'contrib/bzip2/blocksort.c')
-rw-r--r--contrib/bzip2/blocksort.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/contrib/bzip2/blocksort.c b/contrib/bzip2/blocksort.c
index ec42672..aba3efc 100644
--- a/contrib/bzip2/blocksort.c
+++ b/contrib/bzip2/blocksort.c
@@ -8,7 +8,7 @@
This file is a part of bzip2 and/or libbzip2, a program and
library for lossless, block-sorting data compression.
- Copyright (C) 1996-2000 Julian R Seward. All rights reserved.
+ Copyright (C) 1996-2002 Julian R Seward. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@@ -981,7 +981,14 @@ void mainSort ( UInt32* ptr,
}
}
- AssertH ( copyStart[ss]-1 == copyEnd[ss], 1007 );
+ AssertH ( (copyStart[ss]-1 == copyEnd[ss])
+ ||
+ /* Extremely rare case missing in bzip2-1.0.0 and 1.0.1.
+ Necessity for this case is demonstrated by compressing
+ a sequence of approximately 48.5 million of character
+ 251; 1.0.0/1.0.1 will then die here. */
+ (copyStart[ss] == 0 && copyEnd[ss] == nblock-1),
+ 1007 )
for (j = 0; j <= 255; j++) ftab[(j << 8) + ss] |= SETMASK;
OpenPOWER on IntegriCloud