return NULL;
}
-#define CHECK_ZEROED(_x) not_zeroed(((uint8_t const *)&vpt->data) + sizeof(_x), sizeof(vpt->data) - sizeof(_x))
+#define CHECK_ZEROED(_vpt, _x) not_zeroed(((uint8_t const *)&(_vpt)->data) + sizeof(_x), sizeof((_vpt)->data) - sizeof(_x))
/** Verify fields of a vp_tmpl_t make sense
*
break;
case TMPL_TYPE_XLAT_STRUCT:
- if (CHECK_ZEROED(vpt->data.xlat)) {
+ if (CHECK_ZEROED(vpt, vpt->data.xlat)) {
FR_FAULT_LOG("CONSISTENCY CHECK FAILED %s[%u]: TMPL_TYPE_XLAT_STRUCT "
"has non-zero bytes after the data.xlat pointer in the union", file, line);
if (!fr_cond_assert(0)) fr_exit_now(1);
break;
case TMPL_TYPE_ATTR:
- if (CHECK_ZEROED(vpt->data.attribute)) {
+ if (CHECK_ZEROED(vpt, vpt->data.attribute)) {
FR_FAULT_LOG("CONSISTENCY CHECK FAILED %s[%u]: TMPL_TYPE_ATTR "
"has non-zero bytes after the data.attribute struct in the union",
file, line);
break;
case TMPL_TYPE_LIST:
- if (CHECK_ZEROED(vpt->data.attribute)) {
+ if (CHECK_ZEROED(vpt, vpt->data.attribute)) {
FR_FAULT_LOG("CONSISTENCY CHECK FAILED %s[%u]: TMPL_TYPE_LIST"
"has non-zero bytes after the data.attribute struct in the union", file, line);
if (!fr_cond_assert(0)) fr_exit_now(1);
break;
case TMPL_TYPE_DATA:
- if (CHECK_ZEROED(vpt->data.literal)) {
+ if (CHECK_ZEROED(vpt, vpt->data.literal)) {
FR_FAULT_LOG("CONSISTENCY CHECK FAILED %s[%u]: TMPL_TYPE_DATA "
"has non-zero bytes after the data.literal struct in the union",
file, line);