diff --git a/src/htx.c b/src/htx.c
index 3b49e78..05ba03b 100644
--- a/src/htx.c
+++ b/src/htx.c
@@ -316,6 +316,7 @@
 {
 	struct htx_blk *blk;
 
+	BUG_ON(blksz >= 256 << 20);
 	blk = htx_reserve_nxblk(htx, blksz);
 	if (!blk)
 		return NULL;
@@ -546,7 +547,6 @@
 	goto add_new_block;
 
   append_data:
-	/* FIXME: check v.len + data.len < 256MB */
 	/* Append data and update the block itself */
 	ptr = htx_get_blk_ptr(htx, tailblk);
 	memcpy(ptr+sz, data.ptr, len);
@@ -559,7 +559,6 @@
 	data = istadv(data, len);
 
   add_new_block:
-	/* FIXME: check data.len (< 256MB) */
 	blk = htx_add_blk(htx, HTX_BLK_DATA, data.len);
 	if (!blk)
 		return NULL;
@@ -915,7 +914,6 @@
        return (struct htx_ret){.ret = sz, .blk = tailblk};
 
   rsv_new_block:
-       /* FIXME: check data.len (< 256MB) */
        blk = htx_add_blk(htx, HTX_BLK_DATA, len);
        if (!blk)
                return (struct htx_ret){.ret = 0, .blk = NULL};
@@ -973,7 +971,6 @@
 		len = room;
 
   append_data:
-	/* FIXME: check v.len + data.len < 256MB */
 	/* Append data and update the block itself */
 	ptr = htx_get_blk_ptr(htx, tailblk);
 	memcpy(ptr + sz, data.ptr, len);
@@ -986,7 +983,6 @@
 	return len;
 
   add_new_block:
-	/* FIXME: check data.len (< 256MB) */
 	blk = htx_add_blk(htx, HTX_BLK_DATA, len);
 	if (!blk)
 		return 0;
