Quantcast
Channel: Tuts 4 You : Forum
Viewing all articles
Browse latest Browse all 2730

Found the freeze bug

$
0
0

i'm have debugged scylla and found the reason for frezee

it happens here:

void IATSearch::filterIATPointersList( std::set<DWORD_PTR> & iatPointers )

 

in this code:

    while(erased)
    {
        iter = iatPointers.begin();
        lastPointer = *iter;
        iter++;
        for (; iter != iatPointers.end(); iter++)
        {
            if ((*iter - lastPointer) > 0x100) //check difference
            {
                if (isIATPointerValid(lastPointer, false) == false || isIATPointerValid(*iter, false) == false)
                {
                    iter--;
                    iatPointers.erase(iter);
                    erased = true;
                    break;
                }
                else
                {
                    erased = false;
                    lastPointer = *iter;
                }
            }
            else
            {
                erased = false;
                lastPointer = *iter;
            }
        }
    }
}

fix:

while(erased)
    {
        iter = iatPointers.begin();
        lastPointer = *iter;
        iter++;
        for (; iter != iatPointers.end(); iter++)
        {
            if ((*iter - lastPointer) > 0x100) //check difference
            {
                if (isIATPointerValid(lastPointer, false) == false || isIATPointerValid(*iter, false) == false)
                {
                    iter--;
                    iatPointers.erase(iter);
                    erased = true;
                    break;
                }
                else
                {
                    erased = false;
                    lastPointer = *iter;
                }
            }
            else
            {
                erased = false;
                lastPointer = *iter;
            }
        }
        erased = false;
        lastPointer = *iter;
    }
}

Viewing all articles
Browse latest Browse all 2730

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>