Как освободить перераспределенную память? C++

Я пытаюсь освободить перераспределенную память, но получаю сообщение об ошибке...

float * foo = NULL;
float * bar = NULL;

void update()
{
    ...
    foo = (float *)malloc( a * 2 * sizeof(float));
    ...
    bar = (float *)realloc( foo, a * 2 * sizeof(float));
    ...
    free( foo );
    ...
    // when i do
    if(bar != NULL)
    {
        free(bar); // <-- error at executing
    }
}

Я получаю сообщение об ошибке: http://d.pr/mpBFи визуальная студия показывает мне следующий файл:

osfinfo.c
=========
void __cdecl _unlock_fhandle (
        int fh
        )
{
        LeaveCriticalSection( &(_pioinfo(fh)->lock) );
}

Есть идеи?

8
задан JohnnyAce 27 March 2012 в 15:29
поделиться