enc is at least one byte
diff --git a/lib/picotls.c b/lib/picotls.c
index db47671..f1face7 100644
--- a/lib/picotls.c
+++ b/lib/picotls.c
@@ -1022,6 +1022,10 @@
         }
     }
     ptls_decode_open_block(*src, end, 2, {
+        if (*src == end) {
+            ret = PTLS_ALERT_DECODE_ERROR;
+            goto Exit;
+        }
         decoded->public_key = ptls_iovec_init(*src, end - *src);
         *src = end;
     });