wuffs gen -version=0.3.0-rc.2
diff --git a/release/c/wuffs-v0.3.c b/release/c/wuffs-v0.3.c
index 0b2c22e..7383953 100644
--- a/release/c/wuffs-v0.3.c
+++ b/release/c/wuffs-v0.3.c
@@ -85,15 +85,15 @@
 // each major.minor branch, the commit count should increase monotonically.
 //
 // WUFFS_VERSION was overridden by "wuffs gen -version" based on revision
-// fac934b27259f37191285a8d9d1d9629ed2d9f5d committed on 2022-06-29.
+// b0e9efff3f44dc150edb22a27297bfef668035d2 committed on 2022-10-20.
 #define WUFFS_VERSION 0x000030000
 #define WUFFS_VERSION_MAJOR 0
 #define WUFFS_VERSION_MINOR 3
 #define WUFFS_VERSION_PATCH 0
-#define WUFFS_VERSION_PRE_RELEASE_LABEL "rc.1"
-#define WUFFS_VERSION_BUILD_METADATA_COMMIT_COUNT 3360
-#define WUFFS_VERSION_BUILD_METADATA_COMMIT_DATE 20220629
-#define WUFFS_VERSION_STRING "0.3.0-rc.1+3360.20220629"
+#define WUFFS_VERSION_PRE_RELEASE_LABEL "rc.2"
+#define WUFFS_VERSION_BUILD_METADATA_COMMIT_COUNT 3366
+#define WUFFS_VERSION_BUILD_METADATA_COMMIT_DATE 20221020
+#define WUFFS_VERSION_STRING "0.3.0-rc.2+3366.20221020"
 
 // ---------------- Configuration
 
@@ -22699,7 +22699,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -23574,7 +23574,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -23616,7 +23616,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -23683,7 +23683,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -23730,7 +23730,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -23867,7 +23867,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -23900,7 +23900,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -23970,7 +23970,7 @@
   ok:
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -24007,7 +24007,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -24232,7 +24232,7 @@
   ok:
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -24269,7 +24269,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -24372,7 +24372,7 @@
   ok:
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -24405,7 +24405,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -24540,7 +24540,7 @@
   ok:
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -24743,7 +24743,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -24857,7 +24857,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -25175,7 +25175,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -25389,7 +25389,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -25419,7 +25419,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -25713,7 +25713,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -25736,7 +25736,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -25841,7 +25841,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -26014,7 +26014,7 @@
   uint8_t* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -26067,7 +26067,7 @@
   if (v_block_size <= 900000) {
     self->private_impl.f_block_size = v_block_size;
   }
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
 
@@ -26094,7 +26094,7 @@
   uint8_t* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -26188,7 +26188,7 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
 
@@ -26223,7 +26223,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -26318,7 +26318,7 @@
   ok:
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -26347,7 +26347,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -26451,7 +26451,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -26648,7 +26648,7 @@
   wuffs_base__token* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   wuffs_base__token* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   wuffs_base__token* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -26661,7 +26661,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -27185,10 +27185,10 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -28682,7 +28682,7 @@
   uint8_t* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -28741,7 +28741,7 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
 
@@ -28769,7 +28769,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -28898,7 +28898,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -28921,7 +28921,7 @@
   uint8_t* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -28934,7 +28934,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -29017,10 +29017,10 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -29104,7 +29104,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -29325,7 +29325,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -29618,7 +29618,7 @@
   uint8_t* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -29631,7 +29631,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -29792,10 +29792,10 @@
   }
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -29831,7 +29831,7 @@
   uint8_t* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -29844,7 +29844,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -30050,10 +30050,10 @@
   }
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -30095,7 +30095,7 @@
   uint8_t* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -30108,7 +30108,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -30269,10 +30269,10 @@
   }
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -30312,7 +30312,7 @@
   uint8_t* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -30325,7 +30325,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -30604,10 +30604,10 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -30896,7 +30896,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -31038,7 +31038,7 @@
   self->private_impl.f_bits = v_bits;
   self->private_impl.f_n_bits = v_n_bits;
   self->private_impl.f_output_wi = v_output_wi;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -31060,7 +31060,7 @@
   uint8_t* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -31105,7 +31105,7 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
 
@@ -31563,7 +31563,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -31663,7 +31663,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -31829,7 +31829,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -31948,7 +31948,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -31973,7 +31973,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -32048,7 +32048,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -32163,7 +32163,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -32239,7 +32239,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -32261,7 +32261,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -32312,7 +32312,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -32338,7 +32338,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -32514,7 +32514,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -32535,7 +32535,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -32607,7 +32607,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -32628,7 +32628,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -32675,7 +32675,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -32701,7 +32701,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -32898,7 +32898,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -32921,7 +32921,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -33028,7 +33028,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -33047,7 +33047,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -33195,7 +33195,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -33224,7 +33224,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -33366,7 +33366,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -33404,7 +33404,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -33594,7 +33594,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -33921,7 +33921,7 @@
   uint8_t* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -33934,7 +33934,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -34205,10 +34205,10 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -34698,7 +34698,7 @@
   wuffs_base__token* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   wuffs_base__token* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   wuffs_base__token* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -34711,7 +34711,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -35641,10 +35641,10 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -35668,7 +35668,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -35783,7 +35783,7 @@
     goto label__goto_done__break;
   }
   label__goto_done__break:;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
   return (v_n | v_floating_point);
@@ -35803,7 +35803,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -35833,7 +35833,7 @@
   if (v_n == a_n) {
     v_n |= 256;
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
   return v_n;
@@ -35855,7 +35855,7 @@
   wuffs_base__token* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   wuffs_base__token* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   wuffs_base__token* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -35868,7 +35868,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -35938,10 +35938,10 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -35965,7 +35965,7 @@
   wuffs_base__token* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   wuffs_base__token* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   wuffs_base__token* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -35978,7 +35978,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -36120,10 +36120,10 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -36146,7 +36146,7 @@
   wuffs_base__token* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   wuffs_base__token* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   wuffs_base__token* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -36159,7 +36159,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -36277,10 +36277,10 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -36303,7 +36303,7 @@
   wuffs_base__token* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   wuffs_base__token* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   wuffs_base__token* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -36316,7 +36316,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -36415,10 +36415,10 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -36598,7 +36598,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -36782,7 +36782,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -36824,7 +36824,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -36891,7 +36891,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -37027,7 +37027,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -37079,7 +37079,7 @@
   ok:
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -37505,7 +37505,7 @@
   uint8_t* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -37518,7 +37518,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -37702,10 +37702,10 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -39637,7 +39637,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -39929,7 +39929,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -39954,7 +39954,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -40133,7 +40133,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -40302,7 +40302,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -40522,7 +40522,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -40541,7 +40541,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -40635,7 +40635,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -40656,7 +40656,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -40932,7 +40932,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -40951,7 +40951,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -40973,7 +40973,7 @@
   ok:
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -40997,7 +40997,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -41310,7 +41310,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -41329,7 +41329,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -41391,7 +41391,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -41412,7 +41412,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -41480,7 +41480,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -41503,7 +41503,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -41583,7 +41583,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -41602,7 +41602,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -41644,7 +41644,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -41667,7 +41667,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -41829,7 +41829,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -41870,7 +41870,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -42120,7 +42120,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -42144,7 +42144,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -42275,7 +42275,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -42322,7 +42322,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -42545,7 +42545,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -42581,7 +42581,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -42887,7 +42887,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -43070,7 +43070,7 @@
   uint8_t* io0_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io1_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   uint8_t* io2_a_dst WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     io0_a_dst = a_dst->data.ptr;
     io1_a_dst = io0_a_dst + a_dst->meta.wi;
     iop_a_dst = io1_a_dst;
@@ -43083,7 +43083,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -43534,10 +43534,10 @@
 
   goto exit;
   exit:
-  if (a_dst) {
+  if (a_dst && a_dst->data.ptr) {
     a_dst->meta.wi = ((size_t)(iop_a_dst - a_dst->data.ptr));
   }
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -44095,7 +44095,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -44524,7 +44524,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -44566,7 +44566,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -44633,7 +44633,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -44699,7 +44699,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -44981,7 +44981,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -45329,7 +45329,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -45425,7 +45425,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -45467,7 +45467,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -45534,7 +45534,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }
 
@@ -45591,7 +45591,7 @@
   const uint8_t* io0_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io1_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
   const uint8_t* io2_a_src WUFFS_BASE__POTENTIALLY_UNUSED = NULL;
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     io0_a_src = a_src->data.ptr;
     io1_a_src = io0_a_src + a_src->meta.ri;
     iop_a_src = io1_a_src;
@@ -45703,7 +45703,7 @@
 
   goto exit;
   exit:
-  if (a_src) {
+  if (a_src && a_src->data.ptr) {
     a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
   }