apply patch in working tree
[debian/gzip] / unlzw.c
diff --git a/unlzw.c b/unlzw.c
index a330f98d4795f004f15c6e0c2723f3aa2c684f90..8f8cbeee16fa007762ae842d76e1ad1398c6066b 100644 (file)
--- a/unlzw.c
+++ b/unlzw.c
@@ -7,19 +7,11 @@
  * to accommodate in-memory decompression.
  */
 
-#ifdef RCSID
-static char rcsid[] = "$Id: unlzw.c,v 1.5 2006/12/11 18:54:39 eggert Exp $";
-#endif
-
 #include <config.h>
 #include "tailor.h"
 
-#ifdef HAVE_UNISTD_H
-#  include <unistd.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#  include <fcntl.h>
-#endif
+#include <unistd.h>
+#include <fcntl.h>
 
 #include "gzip.h"
 #include "lzw.h"
@@ -248,7 +240,8 @@ int unlzw(in, out)
        int  o;
 
     resetbuf:
-       e = insize-(o = (posbits>>3));
+       o = posbits >> 3;
+       e = o <= insize ? insize - o : 0;
 
        for (i = 0 ; i < e ; ++i) {
            inbuf[i] = inbuf[i+o];