Add jsonptr check for to-be-extended token length
diff --git a/example/jsonptr/jsonptr.cc b/example/jsonptr/jsonptr.cc
index fb4e230..099a379 100644
--- a/example/jsonptr/jsonptr.cc
+++ b/example/jsonptr/jsonptr.cc
@@ -1509,6 +1509,9 @@
                          ? ((uint64_t)(t.value_base_detail__sign_extended()))
                          : vbd;
         if (t.continued()) {
+          if (len != 0) {
+            return "main: internal error: unexpected to-be-extended length";
+          }
           g_token_extension.category = vbc;
           g_token_extension.detail = x;
           return nullptr;
diff --git a/std/cbor/decode_cbor.wuffs b/std/cbor/decode_cbor.wuffs
index 123fb72..bc76df3 100644
--- a/std/cbor/decode_cbor.wuffs
+++ b/std/cbor/decode_cbor.wuffs
@@ -30,6 +30,9 @@
 // base.TOKEN__VALUE_EXTENSION__NUM_BITS bits. The 64-bit CBOR tag is either v
 // or ((v << base.TOKEN__VALUE_EXTENSION__NUM_BITS) | value_extension_1) where
 // v is (value_minor_0 & TOKEN_VALUE_MINOR__DETAIL_MASK).
+//
+// When a token chain contains extended tokens like this, all but the last
+// token has zero length.
 pub const TOKEN_VALUE_MINOR__TAG : base.u32 = 0x100_0000
 
 // TOKEN_VALUE_MINOR__MINUS_1_MINUS_X means that the 9-byte length token holds