- expr_sink_internal() & enlist_entity_connect() fixed to pass-thru failure
- bugreport by courtesy of Pavel Ruzicka <pavel.ruzicka@gtsgroup.cz>
switch (expr->type) {
case S_not:
- expr_sink_internal(expr->u.not.child, membership, expr /* parent */);
+ if (expr_sink_internal(expr->u.not.child, membership, expr /* parent */))
+ return (1);
break;
case S_and:
case S_or:
- expr_sink_internal(expr->u.and_or.child_first, membership, expr /* parent */);
+ if (expr_sink_internal(expr->u.and_or.child_first, membership, expr /* parent */))
+ return (1);
break;
case S_user:
item->child = NULL; /* don't free string ref'ed from 'child_entity'! */
}
- enlist_entity_direct(parent_entity, child_entity, item->when);
+ if (!enlist_entity_direct(parent_entity, child_entity, item->when))
+ return (1); /* entities not found */
enlist_entity_list = item->next;
item->when = NULL;