+ binary_jbv.type = jbvBinary;+ binary_jbv.val.binary.data = &jb_result->root;+ binary_jbv.val.binary.len = VARSIZE(jb_result);
Shouldn't that use VARSIZE_ANY_EXHDR or VARSIZE(jb_result) - VARHDRSZ?