Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 72931da0 authored by hhakim's avatar hhakim
Browse files

Secure Faust::RefManager::release() by raising a runtime_error when an unknown...

Secure Faust::RefManager::release() by raising a runtime_error when an unknown pointer is asked to be removed.
parent b501d591
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@
#include "faust_constant.h"
using namespace Faust;
using namespace std;
void free_cb(void* ref)
{
cout << "\tcallback frees MatGeneric" << endl;
......@@ -32,5 +32,13 @@ int main()
manager.release(mat1);
cout << "release mat2" << endl;
manager.release(mat2);
try
{
manager.release(mat2);
}
catch(runtime_error re)
{
cerr << re.what() << endl;
}
return EXIT_SUCCESS;
}
#include "faust_RefManager.h"
#include <exception>
void Faust::RefManager::acquire(void* ref)
{
......@@ -37,6 +38,8 @@ void Faust::RefManager::release(void* ref)
else
refCounts[ref]--;
}
else
throw runtime_error("RefManager error: unknown pointer reference asked.");
}
void Faust::RefManager::set_free_cb(void(*cb)(void*))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment