Почему вылетает при освобождении pbData в структуре DATA_BLOB

Здравствуйте у меня при выполнении данной функции вылетает ошибка что куча была повреждена вылетает она на LocalFree(end.pbData) в чем я допустил ошибку?

int enc(BYTE* encV,DWORD encVsize,BYTE* decV,DWORD* decVsize)
{
    DATA_BLOB start;
    DATA_BLOG end;

    end.pbData = encV;
    end.cbData = encVsize;

    if(CryptUnprotectData(&start,NULL,NULL,NULL,NULL,NULL,&end))
    {
        for(int i = 0;i < end.cbData;i++)
        {
            decV[i] = to_ret[i];
        }
        *decVsize = out.cbData;
        LocalFree(start.pbData);
        LocalFree(end.pbData);
        return 1;
    }
    return 0;
}

Ответы (0 шт):