blockif_open()'s error path decides what to destroy by comparing the
mutex and the condition variables with NULL. That relies on
pthread_mutex_t and pthread_cond_t being pointers, as they are in
FreeBSD's libthr (the context is calloc'ed, so the test works there),
but it does not compile where they are structures. Record which objects
were initialized instead; the behaviour on FreeBSD does not change.
The comparisons came in with the leak fixes of 0228338fc9c6 (D57887,
July 2026), which was merged to stable/15 as 429e2c587b3a.
Fixes: 0228338fc9c6 ("bhyve: Fix some leaks in usr.sbin/bhyve/block_if.c")
Signed-off-by: Wanpeng Qian <wanpengqian@gmail.com>
Sponsored by: keelos.dev