Set decoder_workbuf_len_max_incl_worst_case to 1
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index 183df0c..a3539cb 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -2779,11 +2779,11 @@
 
 // ---------------- Public Consts
 
-#define WUFFS_DEFLATE__DECODER_WORKBUF_LEN_MAX_INCL_WORST_CASE 33280
+#define WUFFS_DEFLATE__DECODER_WORKBUF_LEN_MAX_INCL_WORST_CASE 1
 
 static const uint64_t                                       //
     wuffs_deflate__decoder_workbuf_len_max_incl_worst_case  //
-        WUFFS_BASE__POTENTIALLY_UNUSED = 33280;
+        WUFFS_BASE__POTENTIALLY_UNUSED = 1;
 
 // ---------------- Struct Declarations
 
@@ -3173,11 +3173,11 @@
 
 // ---------------- Public Consts
 
-#define WUFFS_GIF__DECODER_WORKBUF_LEN_MAX_INCL_WORST_CASE 65535
+#define WUFFS_GIF__DECODER_WORKBUF_LEN_MAX_INCL_WORST_CASE 1
 
 static const uint64_t                                   //
     wuffs_gif__decoder_workbuf_len_max_incl_worst_case  //
-        WUFFS_BASE__POTENTIALLY_UNUSED = 65535;
+        WUFFS_BASE__POTENTIALLY_UNUSED = 1;
 
 // ---------------- Struct Declarations
 
@@ -3480,11 +3480,11 @@
 
 // ---------------- Public Consts
 
-#define WUFFS_GZIP__DECODER_WORKBUF_LEN_MAX_INCL_WORST_CASE 33280
+#define WUFFS_GZIP__DECODER_WORKBUF_LEN_MAX_INCL_WORST_CASE 1
 
 static const uint64_t                                    //
     wuffs_gzip__decoder_workbuf_len_max_incl_worst_case  //
-        WUFFS_BASE__POTENTIALLY_UNUSED = 33280;
+        WUFFS_BASE__POTENTIALLY_UNUSED = 1;
 
 // ---------------- Struct Declarations
 
@@ -3655,11 +3655,11 @@
 
 // ---------------- Public Consts
 
-#define WUFFS_ZLIB__DECODER_WORKBUF_LEN_MAX_INCL_WORST_CASE 33280
+#define WUFFS_ZLIB__DECODER_WORKBUF_LEN_MAX_INCL_WORST_CASE 1
 
 static const uint64_t                                    //
     wuffs_zlib__decoder_workbuf_len_max_incl_worst_case  //
-        WUFFS_BASE__POTENTIALLY_UNUSED = 33280;
+        WUFFS_BASE__POTENTIALLY_UNUSED = 1;
 
 // ---------------- Struct Declarations
 
@@ -6277,7 +6277,7 @@
     return ((wuffs_base__range_ii_u64){0});
   }
 
-  return wuffs_base__utility__make_range_ii_u64(33280, 33280);
+  return wuffs_base__utility__make_range_ii_u64(1, 1);
 }
 
 // -------- func deflate.decoder.decode_io_writer
@@ -8791,9 +8791,7 @@
     return ((wuffs_base__range_ii_u64){0});
   }
 
-  return wuffs_base__utility__make_range_ii_u64(
-      ((uint64_t)(self->private_impl.f_width)),
-      ((uint64_t)(self->private_impl.f_width)));
+  return wuffs_base__utility__make_range_ii_u64(1, 1);
 }
 
 // -------- func gif.decoder.restart_frame
@@ -10492,12 +10490,7 @@
         (iop_a_src += 1, wuffs_base__return_empty_struct());
       }
     label_1_break:;
-      if (((uint64_t)(self->private_impl.f_width)) <
-          ((uint64_t)(a_workbuf.len))) {
-        a_workbuf = wuffs_base__slice_u8__subslice_j(
-            a_workbuf, ((uint64_t)(self->private_impl.f_width)));
-      } else if (((uint64_t)(self->private_impl.f_width)) >
-                 ((uint64_t)(a_workbuf.len))) {
+      if (1 > ((uint64_t)(a_workbuf.len))) {
         status = wuffs_base__error__bad_workbuf_length;
         goto exit;
       }
@@ -10829,7 +10822,7 @@
     return ((wuffs_base__range_ii_u64){0});
   }
 
-  return wuffs_base__utility__make_range_ii_u64(33280, 33280);
+  return wuffs_base__utility__make_range_ii_u64(1, 1);
 }
 
 // -------- func gzip.decoder.decode_io_writer
@@ -11302,7 +11295,7 @@
     return ((wuffs_base__range_ii_u64){0});
   }
 
-  return wuffs_base__utility__make_range_ii_u64(33280, 33280);
+  return wuffs_base__utility__make_range_ii_u64(1, 1);
 }
 
 // -------- func zlib.decoder.decode_io_writer
diff --git a/std/deflate/decode_deflate.wuffs b/std/deflate/decode_deflate.wuffs
index ec4a981..ef3c19c 100644
--- a/std/deflate/decode_deflate.wuffs
+++ b/std/deflate/decode_deflate.wuffs
@@ -31,7 +31,9 @@
 pri status "?internal error: inconsistent distance"
 pri status "?internal error: inconsistent n_bits"
 
-pub const decoder_workbuf_len_max_incl_worst_case base.u64 = 32768 + 512
+// TODO: replace the placeholder 1 value with either 0 or (32768 + 512),
+// depending on whether we'll move decoder.history into the workbuf.
+pub const decoder_workbuf_len_max_incl_worst_case base.u64 = 1
 
 // The next two tables were created by script/print-deflate-magic-numbers.go.
 //
diff --git a/std/gif/decode_gif.wuffs b/std/gif/decode_gif.wuffs
index c36ef18..a053922 100644
--- a/std/gif/decode_gif.wuffs
+++ b/std/gif/decode_gif.wuffs
@@ -24,8 +24,10 @@
 
 pri status "?internal error: inconsistent ri/wi"
 
-// TODO: reference lzw.decoder_workbuf_len_max_incl_worst_case.
-pub const decoder_workbuf_len_max_incl_worst_case base.u64 = 0xFFFF
+// TODO: replace the placeholder 1 value with either 0 or 0xFFFF (plus
+// lzw.decoder_workbuf_len_max_incl_worst_case), depending on whether we'll
+// need a per-pixel-row workbuf.
+pub const decoder_workbuf_len_max_incl_worst_case base.u64 = 1
 
 // See the spec appendix E "Interlaced Images" on page 29. The first element
 // represents either that the frame was non-interlaced, or that all interlace
@@ -192,8 +194,8 @@
 
 pub func decoder.workbuf_len() base.range_ii_u64 {
 	return this.util.make_range_ii_u64(
-		min_incl:this.width as base.u64,
-		max_incl:this.width as base.u64)
+		min_incl:decoder_workbuf_len_max_incl_worst_case,
+		max_incl:decoder_workbuf_len_max_incl_worst_case)
 }
 
 pub func decoder.restart_frame!(index base.u64, io_position base.u64) base.status {
@@ -717,9 +719,7 @@
 			args.src.skip_fast!(actual:1, worst_case:1)
 		}
 
-		if (this.width as base.u64) < args.workbuf.length() {
-			args.workbuf = args.workbuf[:this.width as base.u64]
-		} else if (this.width as base.u64) > args.workbuf.length() {
+		if decoder_workbuf_len_max_incl_worst_case > args.workbuf.length() {
 			return base."?bad workbuf length"
 		}
 
diff --git a/std/gzip/decode_gzip.wuffs b/std/gzip/decode_gzip.wuffs
index 89b7ed1..d61fd0f 100644
--- a/std/gzip/decode_gzip.wuffs
+++ b/std/gzip/decode_gzip.wuffs
@@ -21,7 +21,7 @@
 pub status "?bad header"
 
 // TODO: reference deflate.decoder_workbuf_len_max_incl_worst_case.
-pub const decoder_workbuf_len_max_incl_worst_case base.u64 = 32768 + 512
+pub const decoder_workbuf_len_max_incl_worst_case base.u64 = 1
 
 pub struct decoder?(
 	ignore_checksum base.bool,
diff --git a/std/zlib/decode_zlib.wuffs b/std/zlib/decode_zlib.wuffs
index c7719b7..57e2483 100644
--- a/std/zlib/decode_zlib.wuffs
+++ b/std/zlib/decode_zlib.wuffs
@@ -23,7 +23,7 @@
 pri status "?TODO: unsupported preset dictionary"
 
 // TODO: reference deflate.decoder_workbuf_len_max_incl_worst_case.
-pub const decoder_workbuf_len_max_incl_worst_case base.u64 = 32768 + 512
+pub const decoder_workbuf_len_max_incl_worst_case base.u64 = 1
 
 pub struct decoder?(
 	ignore_checksum base.bool,