Skip to content

Commit

Permalink
Fixed CORE-1146 : AV in rse\invalidate_child_rpbs for recursive queies
Browse files Browse the repository at this point in the history
  • Loading branch information
hvlad committed Mar 1, 2007
1 parent ed29b6f commit af5ef6a
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/jrd/rse.cpp
Expand Up @@ -2629,11 +2629,11 @@ static void invalidate_child_rpbs(thread_db* tdbb, RecordSource* rsb)

case rsb_recurse:
{
const USHORT streams = (USHORT)(U_IPTR) rsb->rsb_arg[rsb->rsb_count];
RecordSource** ptr = rsb->rsb_arg;

for (const RecordSource* const* end = ptr + streams; ptr < end; ptr += 2)
invalidate_child_rpbs(tdbb, *ptr);
// hvlad: recursive CTE is always a 'union all' of
// exactly two members.
// see also comments for RSBRecurse::open
invalidate_child_rpbs(tdbb, rsb->rsb_arg[0]);
invalidate_child_rpbs(tdbb, rsb->rsb_arg[2]);
}
return;

Expand Down

0 comments on commit af5ef6a

Please sign in to comment.